On Mon, Dec 03 2012, Jani Nikula wrote: > Use strcmp instead of STRNCMP_LITERAL, which matches the prefix > instead of the whole argument. Perhaps add and use this instead: #define STRCMP_LITERAL(var, literal) \ strncmp ((var), (literal), sizeof (literal)) Than again, it's argument parsing so hardly a performance critical path, so maybe readability is more important. > --- > notmuch.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/notmuch.c b/notmuch.c > index 477a09c..4ff66e3 100644 > --- a/notmuch.c > +++ b/notmuch.c > @@ -245,10 +245,10 @@ main (int argc, char *argv[]) > if (argc == 1) > return notmuch (local); > > - if (STRNCMP_LITERAL (argv[1], "--help") == 0) > + if (strcmp (argv[1], "--help") == 0) > return notmuch_help_command (NULL, argc - 1, &argv[1]); > > - if (STRNCMP_LITERAL (argv[1], "--version") == 0) { > + if (strcmp (argv[1], "--version") == 0) { > printf ("notmuch " STRINGIFY(NOTMUCH_VERSION) "\n"); > return 0; > } -- Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michał “mina86” Nazarewicz (o o) ooo +------------------ooO--(_)--Ooo--