summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabrice Le Fessant <fabrice.le_fessant@ocamlpro.com>2022-10-18 11:23:15 +0200
committerDmitry V. Levin <ldv@strace.io>2022-12-15 08:00:00 +0000
commit28863b3901704740823d64487711c70751d99fc9 (patch)
tree725fc758d4854fb75734869ef5a0b65c9c7cc064
parent34ad3f12ae8529259679c43bbab9b95d47f2299f (diff)
downloadstrace-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.c3
-rw-r--r--src/print_fields.h7
-rw-r--r--src/term.c3
-rw-r--r--src/util.c10
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;
}