From 5e6421ee0734fb037163dad4a2f9b3e88dac4ac6 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 31 Aug 2016 15:13:06 +0200 Subject: [PATCH] libsmartcols: fix minimal column width calculation Signed-off-by: Karel Zak --- libsmartcols/src/table_print.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libsmartcols/src/table_print.c b/libsmartcols/src/table_print.c index 28f6f7a5c..d625f8148 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);