From: Karel Zak Date: Mon, 7 Dec 2015 14:10:23 +0000 (+0100) Subject: libsmartcols: fix right-aligned logic for last column X-Git-Tag: v2.28-rc1~238 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=96561604e2f87f94d0db633b70db463fed83cf58;p=thirdparty%2Futil-linux.git libsmartcols: fix right-aligned logic for last column Signed-off-by: Karel Zak --- diff --git a/libsmartcols/src/table_print.c b/libsmartcols/src/table_print.c index 91234b16a3..d275ad640e 100644 --- a/libsmartcols/src/table_print.c +++ b/libsmartcols/src/table_print.c @@ -324,7 +324,10 @@ static int print_data(struct libscols_table *tb, width = cl->width; bytes = strlen(data); - if (is_last_column(tb, cl) && len < width && !scols_table_is_maxout(tb)) + if (is_last_column(tb, cl) + && len < width + && !scols_table_is_maxout(tb) + && !scols_column_is_right(cl)) width = len; /* truncate data */ @@ -340,7 +343,6 @@ static int print_data(struct libscols_table *tb, if (data) { if (scols_column_is_right(cl)) { - size_t xw = cl->width; if (color) fputs(color, tb->out); for (i = len; i < width; i++) @@ -348,8 +350,7 @@ static int print_data(struct libscols_table *tb, fputs(data, tb->out); if (color) fputs(UL_COLOR_RESET, tb->out); - if (len < xw) - len = xw; + len = width; } else if (color) { char *p = data; size_t art = buffer_get_safe_art_size(buf);