]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
util: Fix to set argconfig output format json option correctly
authorTokunori Ikegami <ikegami.t@gmail.com>
Tue, 12 Sep 2023 14:45:18 +0000 (23:45 +0900)
committerDaniel Wagner <wagi@monom.org>
Mon, 25 Sep 2023 09:19:30 +0000 (11:19 +0200)
Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
util/argconfig.c

index 2f3bfc65257a35d21afb4a92dbc95cb0f1c738bd..35d24f1d924ad183161fa47d12e6c0e91dc30b1d 100644 (file)
@@ -340,6 +340,12 @@ static bool argconfig_check_human_readable(struct argconfig_commandline_options
        return false;
 }
 
+static void argconfig_parse_short_opt(int c)
+{
+       if (c == 'j')
+               argconfig_set_output_format_json(true);
+}
+
 int argconfig_parse(int argc, char *argv[], const char *program_desc,
                    struct argconfig_commandline_options *options)
 {
@@ -397,12 +403,15 @@ int argconfig_parse(int argc, char *argv[], const char *program_desc,
                                ret = -EINVAL;
                                break;
                        }
-                       if (c == 'j')
-                               argconfig_set_output_format_json(true);
+                       if (option_index >= options_count)
+                               argconfig_parse_short_opt(c);
                        for (option_index = 0; option_index < options_count; option_index++) {
                                if (c == options[option_index].short_option)
                                        break;
                        }
+                       if (option_index == options_count ||
+                           !strcmp(options[option_index].option, "json"))
+                               argconfig_parse_short_opt(c);
                        if (option_index == options_count)
                                continue;
                }