diff options
author | Steven Rostedt <srostedt@redhat.com> | 2011-11-07 12:44:44 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2011-11-07 13:01:54 -0500 |
commit | 410ca6b0df454f1513bf3074bf682fe26436c8ac (patch) | |
tree | e69a7d6e22196d713b110770d3d6c42914dea1c2 | |
parent | 2b54d58d30007168f60b2396de346182b09530dd (diff) |
parse-event: Fix parsing of __print_flags() in TP_printk()
A update is made to the sched:sched_switch event that adds some
logic to the first parameter of the __print_flags() that shows the
state of tasks. This change cause trace-cmd to fail parsing the flags.
A simple fix is needed to have the parser be able to process ops
within the argument.
Reported-by: Andrew Vagin <avagin@openvz.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | parse-events.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/parse-events.c b/parse-events.c index 2dbd47b..ce95e6e 100644 --- a/parse-events.c +++ b/parse-events.c | |||
@@ -2167,6 +2167,11 @@ process_flags(struct event_format *event, struct print_arg *arg, char **tok) | |||
2167 | field = alloc_arg(); | 2167 | field = alloc_arg(); |
2168 | 2168 | ||
2169 | type = process_arg(event, field, &token); | 2169 | type = process_arg(event, field, &token); |
2170 | |||
2171 | /* Handle operations in the first argument */ | ||
2172 | while (type == EVENT_OP) | ||
2173 | type = process_op(event, field, &token); | ||
2174 | |||
2170 | if (test_type_token(type, token, EVENT_DELIM, ",")) | 2175 | if (test_type_token(type, token, EVENT_DELIM, ",")) |
2171 | goto out_free; | 2176 | goto out_free; |
2172 | free_token(token); | 2177 | free_token(token); |