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 *) ¬much_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