From 1424fe8c86b376ce1f908aae79f2e48639de115a Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 2 Apr 2014 14:05:10 +0200 Subject: [PATCH] libsmartcols: init symbols when necessary Signed-off-by: Karel Zak --- libsmartcols/src/table.c | 6 ++++-- libsmartcols/src/table_print.c | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/libsmartcols/src/table.c b/libsmartcols/src/table.c index 94df47b057..dd26410fe7 100644 --- a/libsmartcols/src/table.c +++ b/libsmartcols/src/table.c @@ -60,9 +60,11 @@ struct libscols_table *scols_new_table(struct libscols_symbols *syms) INIT_LIST_HEAD(&tb->tb_lines); INIT_LIST_HEAD(&tb->tb_columns); - if (scols_table_set_symbols(tb, syms) == 0) - return tb; + if (syms && scols_table_set_symbols(tb, syms) != 0) + goto err; + return tb; +err: scols_unref_table(tb); return NULL; } diff --git a/libsmartcols/src/table_print.c b/libsmartcols/src/table_print.c index 306f2d2e79..f3cdf70c7c 100644 --- a/libsmartcols/src/table_print.c +++ b/libsmartcols/src/table_print.c @@ -553,6 +553,9 @@ int scols_print_table(struct libscols_table *tb) if (!tb) return -1; + if (!tb->symbols) + scols_table_set_symbols(tb, NULL); /* use default */ + tb->is_term = isatty(STDOUT_FILENO); tb->termwidth = tb->is_term ? get_terminal_width() : 0; if (tb->termwidth <= 0) -- 2.47.3