diff options
Diffstat (limited to 'tools/lib/traceevent/event-parse.c')
-rw-r--r-- | tools/lib/traceevent/event-parse.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c index b6d11eea8a57..6d31b6419d37 100644 --- a/tools/lib/traceevent/event-parse.c +++ b/tools/lib/traceevent/event-parse.c | |||
@@ -3615,7 +3615,7 @@ static const struct flag flags[] = { | |||
3615 | { "HRTIMER_RESTART", 1 }, | 3615 | { "HRTIMER_RESTART", 1 }, |
3616 | }; | 3616 | }; |
3617 | 3617 | ||
3618 | static unsigned long long eval_flag(const char *flag) | 3618 | static long long eval_flag(const char *flag) |
3619 | { | 3619 | { |
3620 | int i; | 3620 | int i; |
3621 | 3621 | ||
@@ -3631,7 +3631,7 @@ static unsigned long long eval_flag(const char *flag) | |||
3631 | if (strcmp(flags[i].name, flag) == 0) | 3631 | if (strcmp(flags[i].name, flag) == 0) |
3632 | return flags[i].value; | 3632 | return flags[i].value; |
3633 | 3633 | ||
3634 | return 0; | 3634 | return -1LL; |
3635 | } | 3635 | } |
3636 | 3636 | ||
3637 | static void print_str_to_seq(struct trace_seq *s, const char *format, | 3637 | static void print_str_to_seq(struct trace_seq *s, const char *format, |
@@ -3705,7 +3705,7 @@ static void print_str_arg(struct trace_seq *s, void *data, int size, | |||
3705 | struct print_flag_sym *flag; | 3705 | struct print_flag_sym *flag; |
3706 | struct format_field *field; | 3706 | struct format_field *field; |
3707 | struct printk_map *printk; | 3707 | struct printk_map *printk; |
3708 | unsigned long long val, fval; | 3708 | long long val, fval; |
3709 | unsigned long addr; | 3709 | unsigned long addr; |
3710 | char *str; | 3710 | char *str; |
3711 | unsigned char *hex; | 3711 | unsigned char *hex; |
@@ -3764,11 +3764,11 @@ static void print_str_arg(struct trace_seq *s, void *data, int size, | |||
3764 | print = 0; | 3764 | print = 0; |
3765 | for (flag = arg->flags.flags; flag; flag = flag->next) { | 3765 | for (flag = arg->flags.flags; flag; flag = flag->next) { |
3766 | fval = eval_flag(flag->value); | 3766 | fval = eval_flag(flag->value); |
3767 | if (!val && !fval) { | 3767 | if (!val && fval < 0) { |
3768 | print_str_to_seq(s, format, len_arg, flag->str); | 3768 | print_str_to_seq(s, format, len_arg, flag->str); |
3769 | break; | 3769 | break; |
3770 | } | 3770 | } |
3771 | if (fval && (val & fval) == fval) { | 3771 | if (fval > 0 && (val & fval) == fval) { |
3772 | if (print && arg->flags.delim) | 3772 | if (print && arg->flags.delim) |
3773 | trace_seq_puts(s, arg->flags.delim); | 3773 | trace_seq_puts(s, arg->flags.delim); |
3774 | print_str_to_seq(s, format, len_arg, flag->str); | 3774 | print_str_to_seq(s, format, len_arg, flag->str); |