From: Jani Nikula Date: Sun, 1 Oct 2017 20:53:19 +0000 (+0300) Subject: cli: refactor boolean argument processing X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=e70494785541c32989b5c31360e1d9ac57e106ee;p=notmuch.git cli: refactor boolean argument processing Clean up the control flow to prepare for future changes. No functional changes. --- diff --git a/command-line-arguments.c b/command-line-arguments.c index 39940d5f..ee8be189 100644 --- a/command-line-arguments.c +++ b/command-line-arguments.c @@ -39,21 +39,20 @@ _process_keyword_arg (const notmuch_opt_desc_t *arg_desc, char next, const char static notmuch_bool_t _process_boolean_arg (const notmuch_opt_desc_t *arg_desc, char next, const char *arg_str) { - - if (next == '\0') { - *arg_desc->opt_bool = TRUE; - return TRUE; - } - if (strcmp (arg_str, "false") == 0) { - *arg_desc->opt_bool = FALSE; - return TRUE; - } - if (strcmp (arg_str, "true") == 0) { - *arg_desc->opt_bool = TRUE; - return TRUE; + notmuch_bool_t value; + + if (next == '\0' || strcmp (arg_str, "true") == 0) { + value = TRUE; + } else if (strcmp (arg_str, "false") == 0) { + value = FALSE; + } else { + fprintf (stderr, "Unknown argument \"%s\" for (boolean) option \"%s\".\n", arg_str, arg_desc->name); + return FALSE; } - fprintf (stderr, "Unknown argument \"%s\" for (boolean) option \"%s\".\n", arg_str, arg_desc->name); - return FALSE; + + *arg_desc->opt_bool = value; + + return TRUE; } static notmuch_bool_t