summaryrefslogtreecommitdiffstats
path: root/sys-utils/lscpu.c
diff options
context:
space:
mode:
authorKarel Zak2014-04-03 10:48:09 +0200
committerKarel Zak2014-04-03 12:29:20 +0200
commite7213e34f3ead13e06bfc13b0854999faf9708ae (patch)
tree6e6853c8539d5270e0d9160abbbec96ab63ec4f0 /sys-utils/lscpu.c
parentlosetup: tiny change to usage() (diff)
downloadkernel-qcow2-util-linux-e7213e34f3ead13e06bfc13b0854999faf9708ae.tar.gz
kernel-qcow2-util-linux-e7213e34f3ead13e06bfc13b0854999faf9708ae.tar.xz
kernel-qcow2-util-linux-e7213e34f3ead13e06bfc13b0854999faf9708ae.zip
lscpu: clean up scols usage
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'sys-utils/lscpu.c')
-rw-r--r--sys-utils/lscpu.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c
index 8a5a9c693..564a705b0 100644
--- a/sys-utils/lscpu.c
+++ b/sys-utils/lscpu.c
@@ -1226,7 +1226,8 @@ print_readable(struct lscpu_desc *desc, int cols[], int ncols,
struct lscpu_modifier *mod)
{
int i;
- char buf[BUFSIZ], *data;
+ char buf[BUFSIZ];
+ const char *data;
struct libscols_table *table = scols_new_table(NULL);
if (!table)
@@ -1235,7 +1236,7 @@ print_readable(struct lscpu_desc *desc, int cols[], int ncols,
for (i = 0; i < ncols; i++) {
data = get_cell_header(desc, cols[i], mod, buf, sizeof(buf));
if (!scols_table_new_column(table, xstrdup(data), 0, 0))
- return;
+ err(EXIT_FAILURE, _("failed to initialize output column"));
}
for (i = 0; i < desc->ncpuspos; i++) {
@@ -1251,17 +1252,15 @@ print_readable(struct lscpu_desc *desc, int cols[], int ncols,
continue;
line = scols_table_new_line(table, NULL);
- if (!line) {
- scols_unref_table(table);
- return;
- }
-
+ if (!line)
+ err(EXIT_FAILURE, _("failed to initialize output line"));
for (c = 0; c < ncols; c++) {
data = get_cell_data(desc, i, cols[c], mod,
buf, sizeof(buf));
- scols_line_set_data(line, c,
- xstrdup(data && *data ? data : "-"));
+ if (!data || !*data)
+ data = "-";
+ scols_line_set_data(line, c, data);
}
}