The value of a number of booleans is shown as "on" and "off" in the plain output, and as an actual boolean in JSON mode. Add a function that does that.
Signed-off-by: Petr Machata <m...@pmachata.org> --- include/utils.h | 1 + lib/utils.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/include/utils.h b/include/utils.h index bd62cdcd7122..e3cdb098834a 100644 --- a/include/utils.h +++ b/include/utils.h @@ -328,5 +328,6 @@ int do_batch(const char *name, bool force, int parse_one_of(const char *msg, const char *realval, const char * const *list, size_t len, int *p_err); int parse_on_off(const char *msg, const char *realval, int *p_err); +void print_on_off_bool(FILE *fp, const char *flag, bool val); #endif /* __UTILS_H__ */ diff --git a/lib/utils.c b/lib/utils.c index 930877ae0f0d..8deec86ecbcd 100644 --- a/lib/utils.c +++ b/lib/utils.c @@ -1763,3 +1763,11 @@ int parse_on_off(const char *msg, const char *realval, int *p_err) return parse_one_of(msg, realval, values_on_off, ARRAY_SIZE(values_on_off), p_err); } + +void print_on_off_bool(FILE *fp, const char *flag, bool val) +{ + if (is_json_context()) + print_bool(PRINT_JSON, flag, NULL, val); + else + fprintf(fp, "%s %s ", flag, val ? "on" : "off"); +} -- 2.25.1