From 704f9ba6e6f27c17e544987ec0e2c93fc08d512a Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 5 Apr 2018 11:54:57 +0200 Subject: lsmem: improve JSON output Signed-off-by: Karel Zak --- sys-utils/lsmem.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'sys-utils/lsmem.c') diff --git a/sys-utils/lsmem.c b/sys-utils/lsmem.c index 3e226864a..83a393046 100644 --- a/sys-utils/lsmem.c +++ b/sys-utils/lsmem.c @@ -665,8 +665,28 @@ int main(int argc, char **argv) for (i = 0; i < ncolumns; i++) { struct coldesc *ci = get_column_desc(i); - if (!scols_table_new_column(lsmem->table, ci->name, ci->whint, ci->flags)) + struct libscols_column *cl; + + cl = scols_table_new_column(lsmem->table, ci->name, ci->whint, ci->flags); + if (!cl) err(EXIT_FAILURE, _("Failed to initialize output column")); + + if (lsmem->json) { + int id = get_column_id(i); + + switch (id) { + case COL_SIZE: + if (!lsmem->bytes) + break; + /* fallthrough */ + case COL_NODE: + scols_column_set_json_type(cl, SCOLS_JSON_NUMBER); + break; + case COL_REMOVABLE: + scols_column_set_json_type(cl, SCOLS_JSON_BOOLEAN); + break; + } + } } if (splitarg) { -- cgit v1.2.3-55-g7522