aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLai Jiangshan <laijs@cn.fujitsu.com>2011-01-19 12:21:07 +0800
committerSteven Rostedt <rostedt@goodmis.org>2011-01-19 12:18:13 -0500
commitc3245cde227ca64180dcad8ec43008a77d5f3713 (patch)
tree162c7b7872ea713dfa55a8fa645e164744c257a3
parentcf8d974439091212a6aa6c72a3d6d2cf3d3b7e8e (diff)
downloadtrace-cmd-c3245cde227ca64180dcad8ec43008a77d5f3713.tar.gz
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 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;