aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2021-08-19 12:56:28 -0400
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2021-08-19 12:56:28 -0400
commite6011601b00548ceffc0ec30723c1f0c09da7f9d (patch)
tree0b5d59551064800e54867bcfa4174580074cbf1e
parentb1504f784c2c1ca970db1162277bcb553d974266 (diff)
downloadlibtraceevent-e6011601b00548ceffc0ec30723c1f0c09da7f9d.tar.gz
libtraceevent: Have all field args point to the field they represent
In order to have tep_print_field() print the field closer to the way it is printed via the "pretty_print" method, all field args, must keep a pointer to the field it represents. Link: https://lore.kernel.org/linux-trace-devel/20210812085929.54832-3-y.karadz@gmail.com Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r--src/event-parse.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/event-parse.c b/src/event-parse.c
index 62b56bb..02ec677 100644
--- a/src/event-parse.c
+++ b/src/event-parse.c
@@ -2334,12 +2334,12 @@ process_entry(struct tep_event *event __maybe_unused, struct tep_print_arg *arg,
arg->type = TEP_PRINT_FIELD;
arg->field.name = field;
+ arg->field.field = tep_find_any_field(event, arg->field.name);
+
if (is_flag_field) {
- arg->field.field = tep_find_any_field(event, arg->field.name);
arg->field.field->flags |= TEP_FIELD_IS_FLAG;
is_flag_field = 0;
} else if (is_symbolic_field) {
- arg->field.field = tep_find_any_field(event, arg->field.name);
arg->field.field->flags |= TEP_FIELD_IS_SYMBOLIC;
is_symbolic_field = 0;
}