]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
plugin-lnvm: Fixed argument parsing in lnvm_init.
authorSimon A. F. Lund <safl@safl.dk>
Tue, 5 Jul 2016 15:29:21 +0000 (17:29 +0200)
committerSimon A. F. Lund <safl@safl.dk>
Tue, 5 Jul 2016 15:29:21 +0000 (17:29 +0200)
The option 'mediamgr-name' had "no_argument" causing parsing failure,
changed to "required_argument".

Added check that option 'device-name' is provided since it is mandatory.

lnvm-nvme.c

index 858304751e81bf78f85f1abcb38852bf6d1cefa7..d696b8860ee3bc9c71b29775b632d1f979ba592b 100644 (file)
@@ -38,12 +38,17 @@ static int lnvm_init(int argc, char **argv, struct command *cmd, struct plugin *
 
        const struct argconfig_commandline_options command_line_options[] = {
                {"device-name",   'd', "DEVICE", CFG_STRING, &cfg.devname, required_argument, devname},
-               {"mediamgr-name", 'm', "MM",     CFG_STRING, &cfg.mmtype,  no_argument,       mmtype},
+               {"mediamgr-name", 'm', "MM",     CFG_STRING, &cfg.mmtype,  required_argument, mmtype},
                {0}
        };
 
        argconfig_parse(argc, argv, desc, command_line_options, &cfg, sizeof(cfg));
 
+       if (!strlen(cfg.devname)) {
+               fprintf(stderr, "device name missing %d\n", (int)strlen(cfg.devname));
+               return -EINVAL;
+       }
+
        return lnvm_do_init(cfg.devname, cfg.mmtype);
 }