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

Reply via email to