From 863914ec9574eb58cb0746d59f216997c4863cdf Mon Sep 17 00:00:00 2001 From: Brian Ashworth Date: Mon, 23 Jul 2018 15:04:46 -0400 Subject: Switch to using a function to parse booleans --- sway/commands/focus_wrapping.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'sway/commands/focus_wrapping.c') diff --git a/sway/commands/focus_wrapping.c b/sway/commands/focus_wrapping.c index 0a9e0bf2..15704228 100644 --- a/sway/commands/focus_wrapping.c +++ b/sway/commands/focus_wrapping.c @@ -1,6 +1,7 @@ #include #include "sway/commands.h" #include "sway/config.h" +#include "util.h" struct cmd_results *cmd_focus_wrapping(int argc, char **argv) { struct cmd_results *error = NULL; @@ -8,15 +9,12 @@ struct cmd_results *cmd_focus_wrapping(int argc, char **argv) { return error; } - if (strcasecmp(argv[0], "no") == 0) { - config->focus_wrapping = WRAP_NO; - } else if (strcasecmp(argv[0], "yes") == 0) { - config->focus_wrapping = WRAP_YES; - } else if (strcasecmp(argv[0], "force") == 0) { + if (strcmp(argv[0], "force") == 0) { config->focus_wrapping = WRAP_FORCE; + } else if (parse_boolean(argv[0], config->focus_wrapping == WRAP_YES)) { + config->focus_wrapping = WRAP_YES; } else { - return cmd_results_new(CMD_INVALID, "focus_wrapping", - "Expected 'focus_wrapping yes|no|force'"); + config->focus_wrapping = WRAP_NO; } return cmd_results_new(CMD_SUCCESS, NULL, NULL); -- cgit v1.2.3 From 9ec1d6cf79e6f9c3233f577c6fddeaeb21bb1bfc Mon Sep 17 00:00:00 2001 From: Brian Ashworth Date: Mon, 23 Jul 2018 21:37:53 -0400 Subject: Address review comments on parse_boolean --- common/util.c | 17 +++++++++-------- sway/commands/focus_wrapping.c | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) (limited to 'sway/commands/focus_wrapping.c') diff --git a/common/util.c b/common/util.c index 3fa0c03f..467aa4b5 100644 --- a/common/util.c +++ b/common/util.c @@ -124,17 +124,18 @@ uint32_t parse_color(const char *color) { } bool parse_boolean(const char *boolean, bool current) { - if (strcmp(boolean, "1") == 0 - || strcmp(boolean, "yes") == 0 - || strcmp(boolean, "on") == 0 - || strcmp(boolean, "true") == 0 - || strcmp(boolean, "enable") == 0 - || strcmp(boolean, "enabled") == 0 - || strcmp(boolean, "active") == 0) { + if (strcasecmp(boolean, "1") == 0 + || strcasecmp(boolean, "yes") == 0 + || strcasecmp(boolean, "on") == 0 + || strcasecmp(boolean, "true") == 0 + || strcasecmp(boolean, "enable") == 0 + || strcasecmp(boolean, "enabled") == 0 + || strcasecmp(boolean, "active") == 0) { return true; - } else if (strcmp(boolean, "toggle") == 0) { + } else if (strcasecmp(boolean, "toggle") == 0) { return !current; } + // All other values are false to match i3 return false; } diff --git a/sway/commands/focus_wrapping.c b/sway/commands/focus_wrapping.c index 15704228..562ee4f9 100644 --- a/sway/commands/focus_wrapping.c +++ b/sway/commands/focus_wrapping.c @@ -9,7 +9,7 @@ struct cmd_results *cmd_focus_wrapping(int argc, char **argv) { return error; } - if (strcmp(argv[0], "force") == 0) { + if (strcasecmp(argv[0], "force") == 0) { config->focus_wrapping = WRAP_FORCE; } else if (parse_boolean(argv[0], config->focus_wrapping == WRAP_YES)) { config->focus_wrapping = WRAP_YES; -- cgit v1.2.3