diff options
author | Vaibhav Nagarnaik <vnagarnaik@google.com> | 2011-07-15 23:00:41 -0400 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2011-07-29 12:43:19 -0400 |
commit | cc31fde359acd4f9be790b30a264493fec38a274 (patch) | |
tree | e53a3a6d7a838126eefecfebc990d2d9f06a02f8 | |
parent | b33c8d01da95d1abdfb966eb7f91f2f0a58d8329 (diff) |
parse-events: Support '+' opcode in print format
The '+' opcode is not supported in the arguments for the print format.
This patch adds support for it.
Cc: Michael Rubin <mrubin@google.com>
Cc: David Sharp <dhsharp@google.com>
Signed-off-by: Vaibhav Nagarnaik <vnagarnaik@google.com>
Link: http://lkml.kernel.org/r/1310785241-3799-4-git-send-email-vnagarnaik@google.com
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-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; |