From: Karel Zak Date: Fri, 15 Jul 2011 13:35:48 +0000 (+0200) Subject: include: [tt.c] always truncate if TT_FL_TRUNC X-Git-Tag: v2.20-rc1~92 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=24563aea022cf94d1589c22f694f636a8dd2078d;p=thirdparty%2Futil-linux.git include: [tt.c] always truncate if TT_FL_TRUNC Signed-off-by: Karel Zak --- diff --git a/lib/tt.c b/lib/tt.c index 1929a48cfe..576d2b36a7 100644 --- a/lib/tt.c +++ b/lib/tt.c @@ -414,7 +414,7 @@ static void recount_widths(struct tt *tb, char *buf, size_t bufsz) if (width <= tb->termwidth) break; - if (cl->width_hint > 1) + if (cl->width_hint > 1 && !(cl->flags & TT_FL_TRUNC)) continue; /* never truncate columns with absolute sizes */ if (cl->flags & TT_FL_TREE) continue; /* never truncate the tree */ @@ -422,7 +422,15 @@ static void recount_widths(struct tt *tb, char *buf, size_t bufsz) continue; if (cl->width == cl->width_min) continue; - if (cl->width > cl->width_hint * tb->termwidth) { + + /* truncate column with relative sizes */ + if (cl->width_hint < 1 && + cl->width > cl->width_hint * tb->termwidth) { + cl->width--; + width--; + } + /* truncate column with absolute size */ + if (cl->width_hint > 1 && !trunc_only) { cl->width--; width--; }