summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKarel Zak2016-09-07 12:25:06 +0200
committerKarel Zak2016-09-07 12:25:06 +0200
commit37948503c995d2986e95819f6f5b2c3037dbc23d (patch)
tree18a516a5ff53c43d1cff6fed7bae5a97b823e2d5
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>
-rw-r--r--disk-utils/cfdisk.82
-rw-r--r--disk-utils/fdisk.82
-rw-r--r--libsmartcols/src/smartcolsP.h1
-rw-r--r--libsmartcols/src/table.c16
-rw-r--r--libsmartcols/src/table_print.c4
-rw-r--r--misc-utils/findmnt.82
-rw-r--r--misc-utils/lsblk.82
7 files changed, 28 insertions, 1 deletions
diff --git a/disk-utils/cfdisk.8 b/disk-utils/cfdisk.8
index 68cec9492..6204bdc4f 100644
--- a/disk-utils/cfdisk.8
+++ b/disk-utils/cfdisk.8
@@ -184,6 +184,8 @@ enables libfdisk debug output.
enables libblkid debug output.
.IP LIBSMARTCOLS_DEBUG=all
enables libsmartcols debug output.
+.IP LIBSMARTCOLS_DEBUG_PADDING=on
+use visible padding characters. Requires enabled LIBSMARTCOLS_DEBUG.
.SH "SEE ALSO"
.BR fdisk (8),
diff --git a/disk-utils/fdisk.8 b/disk-utils/fdisk.8
index 5d644d8d6..70e88e36a 100644
--- a/disk-utils/fdisk.8
+++ b/disk-utils/fdisk.8
@@ -354,6 +354,8 @@ enables libfdisk debug output.
enables libblkid debug output.
.IP LIBSMARTCOLS_DEBUG=all
enables libsmartcols debug output.
+.IP LIBSMARTCOLS_DEBUG_PADDING=on
+use visible padding characters. Requires enabled LIBSMARTCOLS_DEBUG.
.SH "SEE ALSO"
.BR cfdisk (8),
diff --git a/libsmartcols/src/smartcolsP.h b/libsmartcols/src/smartcolsP.h
index c1bb1e07f..01b132752 100644
--- a/libsmartcols/src/smartcolsP.h
+++ b/libsmartcols/src/smartcolsP.h
@@ -157,6 +157,7 @@ struct libscols_table {
unsigned int ascii :1, /* don't use unicode */
colors_wanted :1, /* enable colors */
is_term :1, /* isatty() */
+ padding_debug :1, /* output visible padding chars */
maxout :1, /* maximize output */
header_printed :1, /* header already printed */
no_headings :1, /* don't print header */
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;
}
diff --git a/libsmartcols/src/table_print.c b/libsmartcols/src/table_print.c
index 910a9137a..bdac0b296 100644
--- a/libsmartcols/src/table_print.c
+++ b/libsmartcols/src/table_print.c
@@ -37,11 +37,13 @@
* fallback to be more robust and backwardly compatible.
*/
#define titlepadding_symbol(tb) ((tb)->symbols->title_padding ? (tb)->symbols->title_padding : " ")
-#define cellpadding_symbol(tb) ((tb)->symbols->cell_padding ? (tb)->symbols->cell_padding: " ")
#define branch_symbol(tb) ((tb)->symbols->branch ? (tb)->symbols->branch : "|-")
#define vertical_symbol(tb) ((tb)->symbols->vert ? (tb)->symbols->vert : "|")
#define right_symbol(tb) ((tb)->symbols->right ? (tb)->symbols->right : "-")
+#define cellpadding_symbol(tb) ((tb)->padding_debug ? "." : \
+ ((tb)->symbols->cell_padding ? (tb)->symbols->cell_padding: " "))
+
/* This is private struct to work with output data */
struct libscols_buffer {
diff --git a/misc-utils/findmnt.8 b/misc-utils/findmnt.8
index 3f09b1900..fd26f5e5c 100644
--- a/misc-utils/findmnt.8
+++ b/misc-utils/findmnt.8
@@ -267,6 +267,8 @@ overrides the default location of the mtab file
enables libmount debug output
.IP LIBSMARTCOLS_DEBUG=all
enables libsmartcols debug output
+.IP LIBSMARTCOLS_DEBUG_PADDING=on
+use visible padding characters. Requires enabled LIBSMARTCOLS_DEBUG.
.SH AUTHORS
.nf
Karel Zak <kzak@redhat.com>
diff --git a/misc-utils/lsblk.8 b/misc-utils/lsblk.8
index 3e74e37ce..d82d232b3 100644
--- a/misc-utils/lsblk.8
+++ b/misc-utils/lsblk.8
@@ -161,6 +161,8 @@ enables libblkid debug output.
enables libmount debug output.
.IP LIBSMARTCOLS_DEBUG=all
enables libsmartcols debug output.
+.IP LIBSMARTCOLS_DEBUG_PADDING=on
+use visible padding characters. Requires enabled LIBSMARTCOLS_DEBUG.
.SH SEE ALSO
.BR findmnt (8),
.BR blkid (8),