cli: make notmuch count --exclude a boolean argument
authorJani Nikula <jani@nikula.org>
Sat, 14 Oct 2017 20:18:36 +0000 (23:18 +0300)
committerDavid Bremner <david@tethera.net>
Sun, 15 Oct 2017 22:22:40 +0000 (19:22 -0300)
Commit 0f314c0c99be ("cli: convert notmuch_bool_t to stdbool")
over-eagerly converted EXCLUDE_TRUE and EXCLUDE_FALSE to EXCLUDE_true
and EXCLUDE_false in notmuch-count.c. We could just fix the case back,
but convert the option to an actual boolean argument instead.

We've used a keyword argument rather than a boolean argument for
notmuch count --exclude for five years, since commit 785c1e497f05
("cli: move count to the new --exclude=(true|false|flag) naming
scheme."), "to allow future options to be added more easily". I think
we can conclude future options aren't coming any time soon.

notmuch-count.c

index 1ae7d5146d9244f8b85f7618367cab0acd1397dc..ca05c9793b70efcc2932bc8a046af5fa4d2c5622 100644 (file)
@@ -27,12 +27,6 @@ enum {
     OUTPUT_FILES,
 };
 
-/* The following is to allow future options to be added more easily */
-enum {
-    EXCLUDE_true,
-    EXCLUDE_false,
-};
-
 /* Return the number of files matching the query, or -1 for an error */
 static int
 count_files (notmuch_query_t *query)
@@ -160,7 +154,7 @@ notmuch_count_command (notmuch_config_t *config, int argc, char *argv[])
     char *query_str;
     int opt_index;
     int output = OUTPUT_MESSAGES;
-    int exclude = EXCLUDE_true;
+    bool exclude = true;
     const char **search_exclude_tags = NULL;
     size_t search_exclude_tags_length = 0;
     bool batch = false;
@@ -175,10 +169,7 @@ notmuch_count_command (notmuch_config_t *config, int argc, char *argv[])
                                  { "messages", OUTPUT_MESSAGES },
                                  { "files", OUTPUT_FILES },
                                  { 0, 0 } } },
-       { .opt_keyword = &exclude, .name = "exclude", .keywords =
-         (notmuch_keyword_t []){ { "true", EXCLUDE_true },
-                                 { "false", EXCLUDE_false },
-                                 { 0, 0 } } },
+       { .opt_bool = &exclude, .name = "exclude" },
        { .opt_bool = &print_lastmod, .name = "lastmod" },
        { .opt_bool = &batch, .name = "batch" },
        { .opt_string = &input_file_name, .name = "input" },
@@ -221,7 +212,7 @@ notmuch_count_command (notmuch_config_t *config, int argc, char *argv[])
        return EXIT_FAILURE;
     }
 
-    if (exclude == EXCLUDE_true) {
+    if (exclude) {
        search_exclude_tags = notmuch_config_get_search_exclude_tags
            (config, &search_exclude_tags_length);
     }