diff options
-rw-r--r-- | tools/lib/traceevent/event-parse.h | 3 | ||||
-rw-r--r-- | tools/lib/traceevent/parse-filter.c | 20 |
2 files changed, 12 insertions, 11 deletions
diff --git a/tools/lib/traceevent/event-parse.h b/tools/lib/traceevent/event-parse.h index 5e4392d8e2d4..57b66aed8122 100644 --- a/tools/lib/traceevent/event-parse.h +++ b/tools/lib/traceevent/event-parse.h | |||
@@ -367,7 +367,8 @@ enum pevent_flag { | |||
367 | _PE(ILLEGAL_INTEGER_CMP,"illegal comparison for integer"), \ | 367 | _PE(ILLEGAL_INTEGER_CMP,"illegal comparison for integer"), \ |
368 | _PE(REPARENT_NOT_OP, "cannot reparent other than OP"), \ | 368 | _PE(REPARENT_NOT_OP, "cannot reparent other than OP"), \ |
369 | _PE(REPARENT_FAILED, "failed to reparent filter OP"), \ | 369 | _PE(REPARENT_FAILED, "failed to reparent filter OP"), \ |
370 | _PE(BAD_FILTER_ARG, "bad arg in filter tree") | 370 | _PE(BAD_FILTER_ARG, "bad arg in filter tree"), \ |
371 | _PE(UNEXPECTED_TYPE, "unexpected type (not a value)") | ||
371 | 372 | ||
372 | #undef _PE | 373 | #undef _PE |
373 | #define _PE(__code, __str) PEVENT_ERRNO__ ## __code | 374 | #define _PE(__code, __str) PEVENT_ERRNO__ ## __code |
diff --git a/tools/lib/traceevent/parse-filter.c b/tools/lib/traceevent/parse-filter.c index 9b05892566e0..8d71208f0131 100644 --- a/tools/lib/traceevent/parse-filter.c +++ b/tools/lib/traceevent/parse-filter.c | |||
@@ -368,9 +368,9 @@ static void free_events(struct event_list *events) | |||
368 | } | 368 | } |
369 | } | 369 | } |
370 | 370 | ||
371 | static struct filter_arg * | 371 | static enum pevent_errno |
372 | create_arg_item(struct event_format *event, const char *token, | 372 | create_arg_item(struct event_format *event, const char *token, |
373 | enum event_type type, char **error_str) | 373 | enum event_type type, struct filter_arg **parg, char **error_str) |
374 | { | 374 | { |
375 | struct format_field *field; | 375 | struct format_field *field; |
376 | struct filter_arg *arg; | 376 | struct filter_arg *arg; |
@@ -378,7 +378,7 @@ create_arg_item(struct event_format *event, const char *token, | |||
378 | arg = allocate_arg(); | 378 | arg = allocate_arg(); |
379 | if (arg == NULL) { | 379 | if (arg == NULL) { |
380 | show_error(error_str, "failed to allocate filter arg"); | 380 | show_error(error_str, "failed to allocate filter arg"); |
381 | return NULL; | 381 | return PEVENT_ERRNO__MEM_ALLOC_FAILED; |
382 | } | 382 | } |
383 | 383 | ||
384 | switch (type) { | 384 | switch (type) { |
@@ -392,7 +392,7 @@ create_arg_item(struct event_format *event, const char *token, | |||
392 | if (!arg->value.str) { | 392 | if (!arg->value.str) { |
393 | free_arg(arg); | 393 | free_arg(arg); |
394 | show_error(error_str, "failed to allocate string filter arg"); | 394 | show_error(error_str, "failed to allocate string filter arg"); |
395 | return NULL; | 395 | return PEVENT_ERRNO__MEM_ALLOC_FAILED; |
396 | } | 396 | } |
397 | break; | 397 | break; |
398 | case EVENT_ITEM: | 398 | case EVENT_ITEM: |
@@ -420,11 +420,11 @@ create_arg_item(struct event_format *event, const char *token, | |||
420 | break; | 420 | break; |
421 | default: | 421 | default: |
422 | free_arg(arg); | 422 | free_arg(arg); |
423 | show_error(error_str, "expected a value but found %s", | 423 | show_error(error_str, "expected a value but found %s", token); |
424 | token); | 424 | return PEVENT_ERRNO__UNEXPECTED_TYPE; |
425 | return NULL; | ||
426 | } | 425 | } |
427 | return arg; | 426 | *parg = arg; |
427 | return 0; | ||
428 | } | 428 | } |
429 | 429 | ||
430 | static struct filter_arg * | 430 | static struct filter_arg * |
@@ -993,8 +993,8 @@ process_filter(struct event_format *event, struct filter_arg **parg, | |||
993 | case EVENT_SQUOTE: | 993 | case EVENT_SQUOTE: |
994 | case EVENT_DQUOTE: | 994 | case EVENT_DQUOTE: |
995 | case EVENT_ITEM: | 995 | case EVENT_ITEM: |
996 | arg = create_arg_item(event, token, type, error_str); | 996 | ret = create_arg_item(event, token, type, &arg, error_str); |
997 | if (!arg) | 997 | if (ret < 0) |
998 | goto fail; | 998 | goto fail; |
999 | if (!left_item) | 999 | if (!left_item) |
1000 | left_item = arg; | 1000 | left_item = arg; |