From: Karel Zak Date: Wed, 31 Aug 2016 13:13:06 +0000 (+0200) Subject: libsmartcols: fix minimal column width calculation X-Git-Tag: v2.29-rc1~84 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5e6421ee0734fb037163dad4a2f9b3e88dac4ac6;p=thirdparty%2Futil-linux.git libsmartcols: fix minimal column width calculation Signed-off-by: Karel Zak --- diff --git a/libsmartcols/src/table_print.c b/libsmartcols/src/table_print.c index 28f6f7a5c7..d625f81486 100644 --- a/libsmartcols/src/table_print.c +++ b/libsmartcols/src/table_print.c @@ -963,10 +963,12 @@ static int count_column_width(struct libscols_table *tb, assert(cl); cl->width = 0; - if (!cl->width_min) { - if (cl->width_hint < 1 && scols_table_is_maxout(tb) && tb->is_term) - cl->width_min = (size_t) (cl->width_hint * tb->termwidth) - (is_last_column(cl) ? 0 : 1); + if (cl->width_hint < 1 && scols_table_is_maxout(tb) && tb->is_term) { + cl->width_min = (size_t) (cl->width_hint * tb->termwidth); + if (cl->width_min && !is_last_column(cl)) + cl->width_min--; + } if (scols_cell_get_data(&cl->header)) { size_t len = mbs_safe_width(scols_cell_get_data(&cl->header)); cl->width_min = max(cl->width_min, len);