From: Peter Wang Date: Sat, 14 Apr 2012 01:41:02 +0000 (+1000) Subject: config: Check 'config get' arity exactly X-Git-Tag: 0.13_rc1~57 X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=371f3b12a671e3bd955a5e589bd705e3d254d57b;hp=7bfc4bf501af2207123135065b08bd4874446de8;p=obsolete%2Fnotmuch-old config: Check 'config get' arity exactly Require that 'config get' is passed exactly one additional argument, instead of silently ignoring extra arguments. As a side-effect, produce more specific error messages for the 'config' command as a whole. --- diff --git a/notmuch-config.c b/notmuch-config.c index 85fc7745..f9eb9778 100644 --- a/notmuch-config.c +++ b/notmuch-config.c @@ -804,15 +804,26 @@ notmuch_config_command (void *ctx, int argc, char *argv[]) { argc--; argv++; /* skip subcommand argument */ - if (argc < 2) { - fprintf (stderr, "Error: notmuch config requires at least two arguments.\n"); + if (argc < 1) { + fprintf (stderr, "Error: notmuch config requires at least one argument.\n"); return 1; } - if (strcmp (argv[0], "get") == 0) + if (strcmp (argv[0], "get") == 0) { + if (argc != 2) { + fprintf (stderr, "Error: notmuch config get requires exactly " + "one argument.\n"); + return 1; + } return notmuch_config_command_get (ctx, argv[1]); - else if (strcmp (argv[0], "set") == 0) + } else if (strcmp (argv[0], "set") == 0) { + if (argc < 2) { + fprintf (stderr, "Error: notmuch config set requires at least " + "one argument.\n"); + return 1; + } return notmuch_config_command_set (ctx, argv[1], argc - 2, argv + 2); + } fprintf (stderr, "Unrecognized argument for notmuch config: %s\n", argv[0]);