summaryrefslogtreecommitdiffstats
path: root/libsmartcols/src/table.c
diff options
context:
space:
mode:
authorKarel Zak2016-09-07 12:25:06 +0200
committerKarel Zak2016-09-07 12:25:06 +0200
commit37948503c995d2986e95819f6f5b2c3037dbc23d (patch)
tree18a516a5ff53c43d1cff6fed7bae5a97b823e2d5 /libsmartcols/src/table.c
parentlibsmartcols: add fallback for symbols (diff)
downloadkernel-qcow2-util-linux-37948503c995d2986e95819f6f5b2c3037dbc23d.tar.gz
kernel-qcow2-util-linux-37948503c995d2986e95819f6f5b2c3037dbc23d.tar.xz
kernel-qcow2-util-linux-37948503c995d2986e95819f6f5b2c3037dbc23d.zip
libsmartcols: support LIBSMARTCOLS_DEBUG_PADDING=on
This env.variable forces libsmartcols to use visible padding chars. The standard debug has to be enabled (to minimize overhead for non-debug execution). For example: $ LIBSMARTCOLS_DEBUG=all LIBSMARTCOLS_DEBUG_PADDING=on findmnt 2> ~/log Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libsmartcols/src/table.c')
-rw-r--r--libsmartcols/src/table.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libsmartcols/src/table.c b/libsmartcols/src/table.c
index dc3a3016c..10320f0be 100644
--- a/libsmartcols/src/table.c
+++ b/libsmartcols/src/table.c
@@ -38,6 +38,20 @@
list_entry_is_last(&(_cl)->cl_columns, &(_tb)->tb_columns)
+static void check_padding_debug(struct libscols_table *tb)
+{
+ const char *str;
+
+ assert(libsmartcols_debug_mask); /* debug has to be enabled! */
+
+ str = getenv("LIBSMARTCOLS_DEBUG_PADDING");
+ if (!str || (strcmp(str, "on") != 0 && strcmp(str, "1") != 0))
+ return;
+
+ DBG(INIT, ul_debugobj(tb, "padding debug: ENABLE"));
+ tb->padding_debug = 1;
+}
+
/**
* scols_new_table:
*
@@ -58,6 +72,8 @@ struct libscols_table *scols_new_table(void)
INIT_LIST_HEAD(&tb->tb_columns);
DBG(TAB, ul_debugobj(tb, "alloc"));
+ ON_DBG(INIT, check_padding_debug(tb));
+
return tb;
}