Hi

> +void notmuch_process_shared_options (const char* help_name);
> diff --git a/notmuch.c b/notmuch.c

> +/* any subcommand wanting to support these options should call
> + * inherit notmuch_shared_options and call
> + * notmuch_process_shared_options (subcommand_name);
> + */
> +void
> +notmuch_process_shared_options (const char *help_name) {

Perhaps call the argument something else as it might be used by other
commands later? Eg subcommand_name? (and in notmuch-client.h too)

Best wishes

Mark




> +    if (print_version) {
> +     printf ("notmuch " STRINGIFY(NOTMUCH_VERSION) "\n");
> +     exit (EXIT_SUCCESS);
> +    }
> +
> +    if (print_help) {
> +     int ret = _help_for (help_name);
> +     exit (ret);
> +    }
> +}
> +
> +
>  static command_t commands[] = {
>      { NULL, notmuch_command, TRUE,
>        "Notmuch main command." },
> @@ -295,14 +324,12 @@ main (int argc, char *argv[])
>      command_t *command;
>      char *config_file_name = NULL;
>      notmuch_config_t *config = NULL;
> -    notmuch_bool_t print_help=FALSE, print_version=FALSE;
>      int opt_index;
>      int ret;
>  
>      notmuch_opt_desc_t options[] = {
> -     { NOTMUCH_OPT_BOOLEAN, &print_help, "help", 'h', 0 },
> -     { NOTMUCH_OPT_BOOLEAN, &print_version, "version", 'v', 0 },
>       { NOTMUCH_OPT_STRING, &config_file_name, "config", 'c', 0 },
> +     { NOTMUCH_OPT_INHERIT, (void *) &notmuch_shared_options, NULL, 0, 0 },
>       { 0, 0, 0, 0, 0 }
>      };
>  
> @@ -324,24 +351,7 @@ main (int argc, char *argv[])
>       goto DONE;
>      }
>  
> -    /* Handle notmuch --help [command] and notmuch command --help. */
> -    if (print_help ||
> -     (opt_index + 1 < argc && strcmp (argv[opt_index + 1], "--help") == 0)) {
> -     /*
> -      * Pass the first positional argument as argv[1] so the help
> -      * command can give help for it. The help command ignores the
> -      * argv[0] passed to it.
> -      */
> -     ret = notmuch_help_command (NULL, argc - opt_index + 1,
> -                                 argv + opt_index - 1);
> -     goto DONE;
> -    }
> -
> -    if (print_version) {
> -     printf ("notmuch " STRINGIFY(NOTMUCH_VERSION) "\n");
> -     ret = EXIT_SUCCESS;
> -     goto DONE;
> -    }
> +    notmuch_process_shared_options (NULL);
>  
>      if (opt_index < argc)
>       command_name = argv[opt_index];
> -- 
> 2.1.4
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch

Reply via email to