]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
libsmartcols: make sure boolean is true/false only
authorKarel Zak <kzak@redhat.com>
Thu, 5 Apr 2018 10:12:25 +0000 (12:12 +0200)
committerKarel Zak <kzak@redhat.com>
Thu, 5 Apr 2018 10:12:25 +0000 (12:12 +0200)
.. and never "null".

Signed-off-by: Karel Zak <kzak@redhat.com>
libsmartcols/src/table_print.c

index 26b138291618e0d2640353ad6638fad350991619..10126fd79fab7ba775da326b24b14550a9873f7f 100644 (file)
@@ -467,14 +467,18 @@ static int print_data(struct libscols_table *tb,
        case SCOLS_FMT_JSON:
                fputs_quoted_json_lower(scols_cell_get_data(&cl->header), tb->out);
                fputs(":", tb->out);
-               if (!*data)
-                       fputs("null", tb->out);
-               else switch (cl->json_type) {
+               switch (cl->json_type) {
                        case SCOLS_JSON_STRING:
-                               fputs_quoted_json(data, tb->out);
+                               if (!*data)
+                                       fputs("null", tb->out);
+                               else
+                                       fputs_quoted_json(data, tb->out);
                                break;
                        case SCOLS_JSON_NUMBER:
-                               fputs(data, tb->out);
+                               if (!*data)
+                                       fputs("null", tb->out);
+                               else
+                                       fputs(data, tb->out);
                                break;
                        case SCOLS_JSON_BOOLEAN:
                                fputs(!*data ? "false" :