]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
util: Check output format json for json error message output
authorTokunori Ikegami <ikegami.t@gmail.com>
Fri, 14 Apr 2023 17:56:12 +0000 (02:56 +0900)
committerDaniel Wagner <wagi@monom.org>
Mon, 17 Apr 2023 07:54:10 +0000 (09:54 +0200)
Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
util/argconfig.c

index 3eb885faccdeceb8b61cc4142f89fda8ae4b46ff..a48a1c4bbca7bb5db19a06a9a46e87e508501927 100644 (file)
@@ -295,6 +295,18 @@ bool argconfig_output_format_json(bool set)
        return output_format_json;
 }
 
+static bool argconfig_check_output_format_json(struct argconfig_commandline_options *s)
+{
+       for (; s && s->option; s++) {
+               if (strcmp(s->option, "output-format") || s->config_type != CFG_STRING)
+                       continue;
+               if (!strcmp(*(char **)s->default_value, "json"))
+                       return true;
+       }
+
+       return false;
+}
+
 int argconfig_parse(int argc, char *argv[], const char *program_desc,
                    struct argconfig_commandline_options *options)
 {
@@ -372,6 +384,10 @@ int argconfig_parse(int argc, char *argv[], const char *program_desc,
                if (ret)
                        break;
        }
+
+       if (argconfig_check_output_format_json(options))
+               argconfig_output_format_json(true);
+
 out:
        free(short_opts);
        free(long_opts);