From: Tokunori Ikegami Date: Fri, 14 Apr 2023 17:56:12 +0000 (+0900) Subject: util: Check output format json for json error message output X-Git-Tag: v2.5~161 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=0b27b17fbff6bca670941daa993c532571e8ae15;p=users%2Fsagi%2Fnvme-cli.git util: Check output format json for json error message output Signed-off-by: Tokunori Ikegami --- diff --git a/util/argconfig.c b/util/argconfig.c index 3eb885fa..a48a1c4b 100644 --- a/util/argconfig.c +++ b/util/argconfig.c @@ -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);