From: Taeung Song <[email protected]>

Signed-off-by: Taeung Song <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Link: 
http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
 tools/perf/builtin-config.c | 44 +++++++++++++++++++++++---------------------
 1 file changed, 23 insertions(+), 21 deletions(-)

diff --git a/tools/perf/builtin-config.c b/tools/perf/builtin-config.c
index 80668fa7556e..75459668edb2 100644
--- a/tools/perf/builtin-config.c
+++ b/tools/perf/builtin-config.c
@@ -204,31 +204,33 @@ int cmd_config(int argc, const char **argv)
                }
                break;
        default:
-               if (argc) {
-                       for (i = 0; argv[i]; i++) {
-                               char *var, *value;
-                               char *arg = strdup(argv[i]);
-
-                               if (!arg) {
-                                       pr_err("%s: strdup failed\n", __func__);
-                                       ret = -1;
-                                       break;
-                               }
+               if (!argc) {
+                       usage_with_options(config_usage, config_options);
+                       break;
+               }
 
-                               if (parse_config_arg(arg, &var, &value) < 0) {
-                                       free(arg);
-                                       ret = -1;
-                                       break;
-                               }
+               for (i = 0; argv[i]; i++) {
+                       char *var, *value;
+                       char *arg = strdup(argv[i]);
 
-                               if (value == NULL)
-                                       ret = show_spec_config(set, var);
-                               else
-                                       ret = set_config(set, config_filename, 
var, value);
+                       if (!arg) {
+                               pr_err("%s: strdup failed\n", __func__);
+                               ret = -1;
+                               break;
+                       }
+
+                       if (parse_config_arg(arg, &var, &value) < 0) {
                                free(arg);
+                               ret = -1;
+                               break;
                        }
-               } else
-                       usage_with_options(config_usage, config_options);
+
+                       if (value == NULL)
+                               ret = show_spec_config(set, var);
+                       else
+                               ret = set_config(set, config_filename, var, 
value);
+                       free(arg);
+               }
        }
 
        perf_config_set__delete(set);
-- 
2.9.4

Reply via email to