From c3245cde227ca64180dcad8ec43008a77d5f3713 Mon Sep 17 00:00:00 2001 From: Lai Jiangshan Date: Wed, 19 Jan 2011 12:21:07 +0800 Subject: trace-cmd: Add struct filter_arg_exp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use "struct filter_arg_exp" instead of "struct filter_arg_op" for FILTER_ARG_EXP and eliminate the warnings: /home/laijs/work/trace-cmd/parse-filter.c: In function ‘get_exp_value’: /home/laijs/work/trace-cmd/parse-filter.c:1461:2: warning: case value ‘4’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1464:2: warning: case value ‘5’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1467:2: warning: case value ‘6’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1470:2: warning: case value ‘7’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1473:2: warning: case value ‘8’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1476:2: warning: case value ‘9’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1479:2: warning: case value ‘10’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1482:2: warning: case value ‘11’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c: In function ‘exp_to_str’: /home/laijs/work/trace-cmd/parse-filter.c:1844:2: warning: case value ‘4’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1847:2: warning: case value ‘5’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1850:2: warning: case value ‘6’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1853:2: warning: case value ‘7’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1856:2: warning: case value ‘8’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1859:2: warning: case value ‘9’ not in enumerated type ‘enum filter_op_type’ /home/laijs/work/trace-cmd/parse-filter.c:1862:2: warning: case value ‘10’ not in enumerated type ‘enum filter_op_type’ Signed-off-by: Lai Jiangshan Signed-off-by: Steven Rostedt --- parse-events.h | 7 +++++++ parse-filter.c | 18 +++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/parse-events.h b/parse-events.h index fe24ae76..38ddf95f 100644 --- a/parse-events.h +++ b/parse-events.h @@ -645,6 +645,12 @@ struct filter_arg_op { struct filter_arg *right; }; +struct filter_arg_exp { + enum filter_exp_type type; + struct filter_arg *left; + struct filter_arg *right; +}; + struct filter_arg_num { enum filter_cmp_type type; struct filter_arg *left; @@ -666,6 +672,7 @@ struct filter_arg { struct filter_arg_field field; struct filter_arg_value value; struct filter_arg_op op; + struct filter_arg_exp exp; struct filter_arg_num num; struct filter_arg_str str; }; diff --git a/parse-filter.c b/parse-filter.c index eb2ef6da..0eeab5ed 100644 --- a/parse-filter.c +++ b/parse-filter.c @@ -776,9 +776,9 @@ process_exp(struct event_format *event, enum filter_exp_type etype, arg = allocate_arg(); arg->type = FILTER_ARG_EXP; - arg->op.type = etype; - arg->op.left = larg; - arg->op.right = rarg; + arg->exp.type = etype; + arg->exp.left = larg; + arg->exp.right = rarg; cont: /* still need a cmp */ @@ -1476,10 +1476,10 @@ get_exp_value(struct event_format *event, struct filter_arg *arg, struct record { unsigned long long lval, rval; - lval = get_arg_value(event, arg->op.left, record); - rval = get_arg_value(event, arg->op.right, record); + lval = get_arg_value(event, arg->exp.left, record); + rval = get_arg_value(event, arg->exp.right, record); - switch (arg->op.type) { + switch (arg->exp.type) { case FILTER_EXP_ADD: return lval + rval; @@ -1867,10 +1867,10 @@ static char *exp_to_str(struct event_filter *filter, struct filter_arg *arg) char *str; int len; - lstr = arg_to_str(filter, arg->op.left); - rstr = arg_to_str(filter, arg->op.right); + lstr = arg_to_str(filter, arg->exp.left); + rstr = arg_to_str(filter, arg->exp.right); - switch (arg->op.type) { + switch (arg->exp.type) { case FILTER_EXP_ADD: op = "+"; break; -- cgit v1.2.3