From: Eugene Syromyatnikov Date: Fri, 4 Oct 2019 13:13:40 +0000 (+0200) Subject: util: avoid double printing of ellipsis in print_array X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ad937e4b7e8bb8fc3e780b2e7cd8500ba6069b1f;p=strace util: avoid double printing of ellipsis in print_array When PAF_ARRAY_TRUNCATED flag is provided to print_array_ex. * util.c (print_array_ex): Add truncated flag, set it when the output is truncated, avoid explicit ellipsis printing when it is set. Fixes: v5.3~14 "Add PAF_ARRAY_TRUNCATED flag for print_array_ex" --- diff --git a/util.c b/util.c index 8d9e092b..8781bdf4 100644 --- a/util.c +++ b/util.c @@ -1329,6 +1329,7 @@ print_array_ex(struct tcb *const tcp, kernel_ulong_t cur; kernel_ulong_t idx = 0; enum xlat_style xlat_style = flags & XLAT_STYLE_MASK; + bool truncated = false; for (cur = start_addr; cur < end_addr; cur += elem_size, idx++) { if (cur != start_addr) @@ -1341,6 +1342,7 @@ print_array_ex(struct tcb *const tcp, else { tprints("..."); printaddr_comment(cur); + truncated = true; } break; } @@ -1354,6 +1356,7 @@ print_array_ex(struct tcb *const tcp, if (cur >= abbrev_end) { tprints("..."); cur = end_addr; + truncated = true; break; } @@ -1377,7 +1380,7 @@ print_array_ex(struct tcb *const tcp, } if ((cur != start_addr) || !tfetch_mem_func) { - if (flags & PAF_ARRAY_TRUNCATED) { + if ((flags & PAF_ARRAY_TRUNCATED) && !truncated) { if (cur != start_addr) tprints(", ");