diff options
Diffstat (limited to 'tools/perf/util/parse-options.c')
| -rw-r--r-- | tools/perf/util/parse-options.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/perf/util/parse-options.c b/tools/perf/util/parse-options.c index 443fc116512..2bc9e70df7e 100644 --- a/tools/perf/util/parse-options.c +++ b/tools/perf/util/parse-options.c @@ -384,6 +384,8 @@ int parse_options_step(struct parse_opt_ctx_t *ctx,  			return usage_with_options_internal(usagestr, options, 1);  		if (internal_help && !strcmp(arg + 2, "help"))  			return parse_options_usage(usagestr, options); +		if (!strcmp(arg + 2, "list-opts")) +			return PARSE_OPT_LIST;  		switch (parse_long_opt(ctx, arg + 2, options)) {  		case -1:  			return parse_options_usage(usagestr, options); @@ -422,6 +424,12 @@ int parse_options(int argc, const char **argv, const struct option *options,  		exit(129);  	case PARSE_OPT_DONE:  		break; +	case PARSE_OPT_LIST: +		while (options->type != OPTION_END) { +			printf("--%s ", options->long_name); +			options++; +		} +		exit(130);  	default: /* PARSE_OPT_UNKNOWN */  		if (ctx.argv[0][1] == '-') {  			error("unknown option `%s'", ctx.argv[0] + 2);  |