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>
This commit is contained in:
Karel Zak 2016-09-07 12:25:06 +02:00
parent f1f9b71736
commit 37948503c9
7 changed files with 28 additions and 1 deletions

View File

@ -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),

View File

@ -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),

View File

@ -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 */

View File

@ -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;
}

View File

@ -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 {

View File

@ -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>

View File

@ -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),