cli/show: group --entire-thread option handling into one place
authorJani Nikula <jani@nikula.org>
Fri, 6 Jan 2017 20:14:47 +0000 (22:14 +0200)
committerDavid Bremner <david@tethera.net>
Fri, 10 Mar 2017 11:52:29 +0000 (07:52 -0400)
The --entire-thread option handling is split around, making the logic
harder to follow than necessary. Put it in one place. While at it,
make the true/false values match notmuch_bool_t values for
simplicity. No functional changes.

notmuch-show.c

index 6fae9fb00ec474071614fb4eab5f134a5a4197ce..d406d5e3f9100bd2b61570c9576533bf9aa071a2 100644 (file)
@@ -1016,9 +1016,9 @@ static const notmuch_show_format_t *formatters[] = {
 };
 
 enum {
-    ENTIRE_THREAD_DEFAULT,
-    ENTIRE_THREAD_TRUE,
-    ENTIRE_THREAD_FALSE,
+    ENTIRE_THREAD_DEFAULT = -1,
+    ENTIRE_THREAD_FALSE = FALSE,
+    ENTIRE_THREAD_TRUE = TRUE,
 };
 
 /* The following is to allow future options to be added more easily */
@@ -1116,9 +1116,11 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[])
      * format=sexp. */
     if (entire_thread == ENTIRE_THREAD_DEFAULT) {
        if (format == NOTMUCH_FORMAT_JSON || format == NOTMUCH_FORMAT_SEXP)
-           entire_thread = ENTIRE_THREAD_TRUE;
+           params.entire_thread = TRUE;
        else
-           entire_thread = ENTIRE_THREAD_FALSE;
+           params.entire_thread = FALSE;
+    } else {
+       params.entire_thread = entire_thread;
     }
 
     if (!params.output_body) {
@@ -1137,11 +1139,6 @@ notmuch_show_command (notmuch_config_t *config, int argc, char *argv[])
        fprintf (stderr, "Warning: --include-html only implemented for format=json and format=sexp\n");
     }
 
-    if (entire_thread == ENTIRE_THREAD_TRUE)
-       params.entire_thread = TRUE;
-    else
-       params.entire_thread = FALSE;
-
     query_string = query_string_from_args (config, argc-opt_index, argv+opt_index);
     if (query_string == NULL) {
        fprintf (stderr, "Out of memory\n");