]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
Show help when no or an invalid device is given
authorJon Derrick <jonathan.derrick@intel.com>
Thu, 15 Jun 2017 16:03:39 +0000 (10:03 -0600)
committerJon Derrick <jonathan.derrick@intel.com>
Thu, 15 Jun 2017 16:14:15 +0000 (10:14 -0600)
Signed-off-by: Jon Derrick <jonathan.derrick@intel.com>
argconfig.c
argconfig.h
nvme.c

index d863ffd04cbede4c2e01bec4d94fa7e0f4aa7fee..87cccfbcf3bd4f9fc6e4d1b8851a825c90542e80 100644 (file)
@@ -119,7 +119,7 @@ static void show_option(const struct argconfig_commandline_options *option)
        fprintf(stderr, "\n");
 }
 
-static void argconfig_print_help(const char *program_desc,
+void argconfig_print_help(const char *program_desc,
                          const struct argconfig_commandline_options *options)
 {
        const struct argconfig_commandline_options *s;
index d2ac75ab2df770c29b06d9d5c7f16ab625f1c5dd..adb192b6ae24ebc7b1fded84d07a3e4a9aad1e1b 100644 (file)
@@ -78,6 +78,8 @@ extern "C" {
 
 typedef void argconfig_help_func();
 void argconfig_append_usage(const char *str);
+void argconfig_print_help(const char *program_desc,
+                         const struct argconfig_commandline_options *options);
 int argconfig_parse(int argc, char *argv[], const char *program_desc,
                    const struct argconfig_commandline_options *options,
                    void *config_out, size_t config_size);
diff --git a/nvme.c b/nvme.c
index 98f96be8aab14909d4e95d3188cfd34a2fc66928..a4e1b719718d9699dbaff75721820b680ad42a31 100644 (file)
--- a/nvme.c
+++ b/nvme.c
@@ -135,10 +135,8 @@ static int get_dev(int argc, char **argv)
        int ret;
 
        ret = check_arg_dev(argc, argv);
-       if (ret) {
-               fprintf(stderr, "expected nvme device (ex: /dev/nvme0), none provided\n");
+       if (ret)
                return ret;
-       }
 
        return open_dev((const char *)argv[optind]);
 }
@@ -152,7 +150,11 @@ int parse_and_open(int argc, char **argv, const char *desc,
        if (ret)
                return ret;
 
-       return get_dev(argc, argv);
+       ret = get_dev(argc, argv);
+       if (ret < 0)
+               argconfig_print_help(desc, clo);
+
+       return ret;
 }
 
 static const char *output_format = "Output format: normal|json|binary";