diff options
Diffstat (limited to 'tools/perf/util/parse-options.c')
| -rw-r--r-- | tools/perf/util/parse-options.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/perf/util/parse-options.c b/tools/perf/util/parse-options.c index ed887642460c..b05d51df2ce7 100644 --- a/tools/perf/util/parse-options.c +++ b/tools/perf/util/parse-options.c | |||
| @@ -60,6 +60,7 @@ static int get_value(struct parse_opt_ctx_t *p, | |||
| 60 | case OPTION_STRING: | 60 | case OPTION_STRING: |
| 61 | case OPTION_INTEGER: | 61 | case OPTION_INTEGER: |
| 62 | case OPTION_LONG: | 62 | case OPTION_LONG: |
| 63 | case OPTION_U64: | ||
| 63 | default: | 64 | default: |
| 64 | break; | 65 | break; |
| 65 | } | 66 | } |
| @@ -141,6 +142,22 @@ static int get_value(struct parse_opt_ctx_t *p, | |||
| 141 | return opterror(opt, "expects a numerical value", flags); | 142 | return opterror(opt, "expects a numerical value", flags); |
| 142 | return 0; | 143 | return 0; |
| 143 | 144 | ||
| 145 | case OPTION_U64: | ||
| 146 | if (unset) { | ||
| 147 | *(u64 *)opt->value = 0; | ||
| 148 | return 0; | ||
| 149 | } | ||
| 150 | if (opt->flags & PARSE_OPT_OPTARG && !p->opt) { | ||
| 151 | *(u64 *)opt->value = opt->defval; | ||
| 152 | return 0; | ||
| 153 | } | ||
| 154 | if (get_arg(p, opt, flags, &arg)) | ||
| 155 | return -1; | ||
| 156 | *(u64 *)opt->value = strtoull(arg, (char **)&s, 10); | ||
| 157 | if (*s) | ||
| 158 | return opterror(opt, "expects a numerical value", flags); | ||
| 159 | return 0; | ||
| 160 | |||
| 144 | case OPTION_END: | 161 | case OPTION_END: |
| 145 | case OPTION_ARGUMENT: | 162 | case OPTION_ARGUMENT: |
| 146 | case OPTION_GROUP: | 163 | case OPTION_GROUP: |
| @@ -487,6 +504,7 @@ int usage_with_options_internal(const char * const *usagestr, | |||
| 487 | case OPTION_SET_INT: | 504 | case OPTION_SET_INT: |
| 488 | case OPTION_SET_PTR: | 505 | case OPTION_SET_PTR: |
| 489 | case OPTION_LONG: | 506 | case OPTION_LONG: |
| 507 | case OPTION_U64: | ||
| 490 | break; | 508 | break; |
| 491 | } | 509 | } |
| 492 | 510 | ||
