diff options
Diffstat (limited to 'tools/perf/util/parse-options.c')
| -rw-r--r-- | tools/perf/util/parse-options.c | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/perf/util/parse-options.c b/tools/perf/util/parse-options.c index b3affb1658d..1bf67190c82 100644 --- a/tools/perf/util/parse-options.c +++ b/tools/perf/util/parse-options.c @@ -20,7 +20,8 @@ static int get_arg(struct parse_opt_ctx_t *p, const struct option *opt,  	if (p->opt) {  		*arg = p->opt;  		p->opt = NULL; -	} else if (p->argc == 1 && (opt->flags & PARSE_OPT_LASTARG_DEFAULT)) { +	} else if ((opt->flags & PARSE_OPT_LASTARG_DEFAULT) && (p->argc == 1 || +		    **(p->argv + 1) == '-')) {  		*arg = (const char *)opt->defval;  	} else if (p->argc > 1) {  		p->argc--; @@ -485,7 +486,7 @@ int parse_options_usage(const char * const *usagestr,  } -int parse_opt_verbosity_cb(const struct option *opt, const char *arg, +int parse_opt_verbosity_cb(const struct option *opt, const char *arg __used,  			   int unset)  {  	int *target = opt->value;  |