diff options
author | Fabrice Le Fessant <fabrice.le_fessant@ocamlpro.com> | 2022-10-18 11:23:15 +0200 |
---|---|---|
committer | Dmitry V. Levin <ldv@strace.io> | 2022-12-15 08:00:00 +0000 |
commit | 28863b3901704740823d64487711c70751d99fc9 (patch) | |
tree | 725fc758d4854fb75734869ef5a0b65c9c7cc064 | |
parent | 34ad3f12ae8529259679c43bbab9b95d47f2299f (diff) | |
download | strace-28863b3901704740823d64487711c70751d99fc9.tar.gz |
src: introduce tprint_array_index_equal helper
* src/print_fields.h (tprint_array_index_equal): Rename from
tprint_array_index_end.
(tprint_array_index_end): New function.
* src/btrfs.c (btrfs_ioctl): Use them.
* src/term.c (print_cc_char): Likewise.
* src/util.c (print_array_ex): Likewise.
Co-authored-by: Dmitry V. Levin <ldv@strace.io>
-rw-r--r-- | src/btrfs.c | 3 | ||||
-rw-r--r-- | src/print_fields.h | 7 | ||||
-rw-r--r-- | src/term.c | 3 | ||||
-rw-r--r-- | src/util.c | 10 |
4 files changed, 18 insertions, 5 deletions
diff --git a/src/btrfs.c b/src/btrfs.c index 349fee657..516fc9549 100644 --- a/src/btrfs.c +++ b/src/btrfs.c @@ -861,8 +861,9 @@ MPERS_PRINTER_DECL(int, btrfs_ioctl, tprint_array_index_begin(); printxval_u(btrfs_dev_stats_values, i, NULL); - tprint_array_index_end(); + tprint_array_index_equal(); PRINT_VAL_U(args.values[i]); + tprint_array_index_end(); } tprint_array_end(); tprint_struct_end(); diff --git a/src/print_fields.h b/src/print_fields.h index bb61f071c..099fcefa2 100644 --- a/src/print_fields.h +++ b/src/print_fields.h @@ -97,12 +97,17 @@ tprint_array_index_begin(void) } static inline void -tprint_array_index_end(void) +tprint_array_index_equal(void) { STRACE_PRINTS("]="); } static inline void +tprint_array_index_end(void) +{ +} + +static inline void tprint_arg_next(void) { STRACE_PRINTS(", "); diff --git a/src/term.c b/src/term.c index 2cf3aeb0f..79366cefa 100644 --- a/src/term.c +++ b/src/term.c @@ -119,9 +119,10 @@ print_cc_char(bool *first, const unsigned char *data, const char *s, tprints(s); else PRINT_VAL_U(idx); - tprint_array_index_end(); + tprint_array_index_equal(); PRINT_VAL_X(data[idx]); + tprint_array_index_end(); } static void diff --git a/src/util.c b/src/util.c index 9748b4a06..ef15017ba 100644 --- a/src/util.c +++ b/src/util.c @@ -1694,10 +1694,16 @@ print_array_ex(struct tcb *const tcp, xlat_style); } - tprint_array_index_end(); + tprint_array_index_equal(); } - if (!print_func(tcp, elem_buf, elem_size, opaque_data)) { + bool break_needed = + !print_func(tcp, elem_buf, elem_size, opaque_data); + + if (flags & PAF_PRINT_INDICES) + tprint_array_index_end(); + + if (break_needed) { cur = end_addr; break; } |