Currently there's only one error message for nothing configured. Before: $ perf config -l Nothing configured, please check your /home/taeung/.perfconfig
$ perf config report.queue-size So use none_err to handle all cases when nothing configured, and also use it instead of out_err that skip the error message. After: $ perf config -l Nothing configured, please check your /home/taeung/.perfconfig $ perf config report.queue-size Nothing configured, please check your /home/taeung/.perfconfig Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Signed-off-by: Taeung Song <[email protected]> --- tools/perf/builtin-config.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/tools/perf/builtin-config.c b/tools/perf/builtin-config.c index 9ec8664..ad0a112 100644 --- a/tools/perf/builtin-config.c +++ b/tools/perf/builtin-config.c @@ -188,7 +188,7 @@ int cmd_config(int argc, const char **argv) set = perf_config_set__new(); if (!set) { ret = -1; - goto out_err; + goto none_err; } switch (actions) { @@ -199,8 +199,7 @@ int cmd_config(int argc, const char **argv) } else { ret = show_config(set); if (ret < 0) - pr_err("Nothing configured, " - "please check your %s \n", config_filename); + goto none_err; } break; default: @@ -221,9 +220,11 @@ int cmd_config(int argc, const char **argv) break; } - if (value == NULL) + if (value == NULL) { ret = show_spec_config(set, var); - else + if (ret < 0) + goto none_err; + } else ret = set_config(set, config_filename, var, value); free(arg); } @@ -231,7 +232,11 @@ int cmd_config(int argc, const char **argv) usage_with_options(config_usage, config_options); } +none_err: + if (ret < 0 && (!set || list_empty(&set->sections))) + pr_err("Nothing configured, " + "please check your %s \n", config_filename); + perf_config_set__delete(set); -out_err: return ret; } -- 2.7.4

