From 1e94d963a424b52be5f16b04b8138f8893493384 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 4 Nov 2012 15:36:04 +0100 Subject: [PATCH] monitor: Ellipsize the packet titles to fit on line --- monitor/packet.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/monitor/packet.c b/monitor/packet.c index 76c3793d0..8003b8d3d 100644 --- a/monitor/packet.c +++ b/monitor/packet.c @@ -158,7 +158,19 @@ static void print_packet(struct timeval *tv, uint16_t index, char ident, } if (text) { - n = sprintf(line + pos, ": %s", text); + int extra_len = extra ? strlen(extra) : 0; + int max_len = col - len - extra_len - ts_len - 3; + + n = snprintf(line + pos, max_len + 1, ": %s", text); + if (n > max_len) { + line[pos + max_len - 1] = '.'; + line[pos + max_len - 2] = '.'; + if (line[pos + max_len - 3] == ' ') + line[pos + max_len - 3] = '.'; + + n = max_len; + } + if (n > 0) { pos += n; len += n; -- 2.47.3