From: Jon Derrick Date: Thu, 15 Jun 2017 16:03:39 +0000 (-0600) Subject: Show help when no or an invalid device is given X-Git-Tag: v1.4~50^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=514e1d0ec02d8b0224b7dc68b64412da739cf218;p=users%2Fsagi%2Fnvme-cli.git Show help when no or an invalid device is given Signed-off-by: Jon Derrick --- diff --git a/argconfig.c b/argconfig.c index d863ffd0..87cccfbc 100644 --- a/argconfig.c +++ b/argconfig.c @@ -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; diff --git a/argconfig.h b/argconfig.h index d2ac75ab..adb192b6 100644 --- a/argconfig.h +++ b/argconfig.h @@ -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 98f96be8..a4e1b719 100644 --- 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";