aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLai Jiangshan <laijs@cn.fujitsu.com>2011-01-18 23:21:07 -0500
committerSteven Rostedt <rostedt@goodmis.org>2011-01-19 12:18:13 -0500
commitc3245cde227ca64180dcad8ec43008a77d5f3713 (patch)
tree162c7b7872ea713dfa55a8fa645e164744c257a3
parentcf8d974439091212a6aa6c72a3d6d2cf3d3b7e8e (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.h7
-rw-r--r--parse-filter.c18
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
648struct filter_arg_exp {
649 enum filter_exp_type type;
650 struct filter_arg *left;
651 struct filter_arg *right;
652};
653
648struct filter_arg_num { 654struct 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;