diff options
-rw-r--r-- | parse-events.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/parse-events.c b/parse-events.c index 58ffe51..32c13ac 100644 --- a/parse-events.c +++ b/parse-events.c | |||
@@ -2030,6 +2030,18 @@ static int arg_num_eval(struct print_arg *arg, long long *val) | |||
2030 | break; | 2030 | break; |
2031 | *val = left - right; | 2031 | *val = left - right; |
2032 | break; | 2032 | break; |
2033 | case '+': | ||
2034 | if (arg->op.left->type == PRINT_NULL) | ||
2035 | left = 0; | ||
2036 | else | ||
2037 | ret = arg_num_eval(arg->op.left, &left); | ||
2038 | if (!ret) | ||
2039 | break; | ||
2040 | ret = arg_num_eval(arg->op.right, &right); | ||
2041 | if (!ret) | ||
2042 | break; | ||
2043 | *val = left + right; | ||
2044 | break; | ||
2033 | default: | 2045 | default: |
2034 | do_warning("unknown op '%s'", arg->op.op); | 2046 | do_warning("unknown op '%s'", arg->op.op); |
2035 | ret = 0; | 2047 | ret = 0; |