summaryrefslogtreecommitdiffstats
path: root/libsmartcols/src/table_print.c
diff options
context:
space:
mode:
authorKarel Zak2016-09-12 16:12:22 +0200
committerKarel Zak2016-09-12 16:12:22 +0200
commitef4a34bbb82804dd454a2b443d6a7b73dafedec0 (patch)
treeae5b37257b2e03b9d3d18af584ec7241c4ca5b7a /libsmartcols/src/table_print.c
parentlibsmartcols: fix WRAPNL crashes (diff)
downloadkernel-qcow2-util-linux-ef4a34bbb82804dd454a2b443d6a7b73dafedec0.tar.gz
kernel-qcow2-util-linux-ef4a34bbb82804dd454a2b443d6a7b73dafedec0.tar.xz
kernel-qcow2-util-linux-ef4a34bbb82804dd454a2b443d6a7b73dafedec0.zip
libsmartcols: fix WRAPNL on strings without \n
Addresses: https://github.com/karelzak/util-linux/issues/343 Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'libsmartcols/src/table_print.c')
-rw-r--r--libsmartcols/src/table_print.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libsmartcols/src/table_print.c b/libsmartcols/src/table_print.c
index 7355fe8e1..7d5fe0ffa 100644
--- a/libsmartcols/src/table_print.c
+++ b/libsmartcols/src/table_print.c
@@ -993,14 +993,16 @@ static size_t count_wrapnl_size(const char *data)
while (data && *data) {
const char *p = data;
+ size_t sz;
p = strchr(data, '\n');
if (p) {
- size_t sz = mbs_safe_nwidth(data, p - data, NULL);
-
- sum = max(sum, sz);
+ sz = mbs_safe_nwidth(data, p - data, NULL);
p++;
- }
+ } else
+ sz = mbs_safe_width(data);
+
+ sum = max(sum, sz);
data = p;;
}