diff options
author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2011-01-18 23:21:07 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2011-01-19 12:18:13 -0500 |
commit | c3245cde227ca64180dcad8ec43008a77d5f3713 (patch) | |
tree | 162c7b7872ea713dfa55a8fa645e164744c257a3 | |
parent | cf8d974439091212a6aa6c72a3d6d2cf3d3b7e8e (diff) |
trace-cmd: Add struct filter_arg_exp
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 <laijs@cn.fujitsu.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | parse-events.h | 7 | ||||
-rw-r--r-- | parse-filter.c | 18 |
2 files changed, 16 insertions, 9 deletions
diff --git a/parse-events.h b/parse-events.h index fe24ae7..38ddf95 100644 --- a/parse-events.h +++ b/parse-events.h | |||
@@ -645,6 +645,12 @@ struct filter_arg_op { | |||
645 | struct filter_arg *right; | 645 | struct filter_arg *right; |
646 | }; | 646 | }; |
647 | 647 | ||
648 | struct filter_arg_exp { | ||
649 | enum filter_exp_type type; | ||
650 | struct filter_arg *left; | ||
651 | struct filter_arg *right; | ||
652 | }; | ||
653 | |||
648 | struct filter_arg_num { | 654 | struct filter_arg_num { |
649 | enum filter_cmp_type type; | 655 | enum filter_cmp_type type; |
650 | struct filter_arg *left; | 656 | struct filter_arg *left; |
@@ -666,6 +672,7 @@ struct filter_arg { | |||
666 | struct filter_arg_field field; | 672 | struct filter_arg_field field; |
667 | struct filter_arg_value value; | 673 | struct filter_arg_value value; |
668 | struct filter_arg_op op; | 674 | struct filter_arg_op op; |
675 | struct filter_arg_exp exp; | ||
669 | struct filter_arg_num num; | 676 | struct filter_arg_num num; |
670 | struct filter_arg_str str; | 677 | struct filter_arg_str str; |
671 | }; | 678 | }; |
diff --git a/parse-filter.c b/parse-filter.c index eb2ef6d..0eeab5e 100644 --- a/parse-filter.c +++ b/parse-filter.c | |||
@@ -776,9 +776,9 @@ process_exp(struct event_format *event, enum filter_exp_type etype, | |||
776 | 776 | ||
777 | arg = allocate_arg(); | 777 | arg = allocate_arg(); |
778 | arg->type = FILTER_ARG_EXP; | 778 | arg->type = FILTER_ARG_EXP; |
779 | arg->op.type = etype; | 779 | arg->exp.type = etype; |
780 | arg->op.left = larg; | 780 | arg->exp.left = larg; |
781 | arg->op.right = rarg; | 781 | arg->exp.right = rarg; |
782 | 782 | ||
783 | cont: | 783 | cont: |
784 | /* still need a cmp */ | 784 | /* still need a cmp */ |
@@ -1476,10 +1476,10 @@ get_exp_value(struct event_format *event, struct filter_arg *arg, struct record | |||
1476 | { | 1476 | { |
1477 | unsigned long long lval, rval; | 1477 | unsigned long long lval, rval; |
1478 | 1478 | ||
1479 | lval = get_arg_value(event, arg->op.left, record); | 1479 | lval = get_arg_value(event, arg->exp.left, record); |
1480 | rval = get_arg_value(event, arg->op.right, record); | 1480 | rval = get_arg_value(event, arg->exp.right, record); |
1481 | 1481 | ||
1482 | switch (arg->op.type) { | 1482 | switch (arg->exp.type) { |
1483 | case FILTER_EXP_ADD: | 1483 | case FILTER_EXP_ADD: |
1484 | return lval + rval; | 1484 | return lval + rval; |
1485 | 1485 | ||
@@ -1867,10 +1867,10 @@ static char *exp_to_str(struct event_filter *filter, struct filter_arg *arg) | |||
1867 | char *str; | 1867 | char *str; |
1868 | int len; | 1868 | int len; |
1869 | 1869 | ||
1870 | lstr = arg_to_str(filter, arg->op.left); | 1870 | lstr = arg_to_str(filter, arg->exp.left); |
1871 | rstr = arg_to_str(filter, arg->op.right); | 1871 | rstr = arg_to_str(filter, arg->exp.right); |
1872 | 1872 | ||
1873 | switch (arg->op.type) { | 1873 | switch (arg->exp.type) { |
1874 | case FILTER_EXP_ADD: | 1874 | case FILTER_EXP_ADD: |
1875 | op = "+"; | 1875 | op = "+"; |
1876 | break; | 1876 | break; |