aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lib/traceevent/event-parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lib/traceevent/event-parse.c')
-rw-r--r--tools/lib/traceevent/event-parse.c10
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
3618static unsigned long long eval_flag(const char *flag) 3618static 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
3637static void print_str_to_seq(struct trace_seq *s, const char *format, 3637static 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);