[PATCH 1/2] cli: fix top level --help combined with other options

Jani Nikula jani at nikula.org
Sun Mar 8 09:18:54 PDT 2015


If the top level --help is combined with other options, help
fails. For example:

    $ notmuch --version --help

    Sorry, --help is not a known command. There's not much I can do to help.

Fix this by adjusting argc and argv appropriately. The help command
ignores argv[0] anyway, so we don't have to set it to "help".
---
 notmuch.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/notmuch.c b/notmuch.c
index 0fac0997865e..1717e8b3683c 100644
--- a/notmuch.c
+++ b/notmuch.c
@@ -315,7 +315,13 @@ main (int argc, char *argv[])
     }
 
     if (print_help) {
-	ret = notmuch_help_command (NULL, argc - 1, &argv[1]);
+	/*
+	 * 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;
     }
 
-- 
2.1.4



More information about the notmuch mailing list