From e70494785541c32989b5c31360e1d9ac57e106ee Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Sun, 1 Oct 2017 23:53:19 +0300 Subject: [PATCH] cli: refactor boolean argument processing Clean up the control flow to prepare for future changes. No functional changes. --- command-line-arguments.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) 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 -- 2.43.0