Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Signed-off-by: Taeung Song <[email protected]>
---
 tools/perf/builtin-config.c | 50 ++++++++++++++++++++++++---------------------
 1 file changed, 27 insertions(+), 23 deletions(-)

diff --git a/tools/perf/builtin-config.c b/tools/perf/builtin-config.c
index ad0a112..f4596ef 100644
--- a/tools/perf/builtin-config.c
+++ b/tools/perf/builtin-config.c
@@ -203,33 +203,37 @@ 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 (!arg) {
+                               pr_err("%s: strdup failed\n", __func__);
+                               ret = -1;
+                               break;
+                       }
 
-                               if (value == NULL) {
-                                       ret = show_spec_config(set, var);
-                                       if (ret < 0)
-                                               goto none_err;
-                               } else
-                                       ret = set_config(set, config_filename, 
var, value);
+                       if (parse_config_arg(arg, &var, &value) < 0) {
                                free(arg);
+                               ret = -1;
+                               break;
                        }
-               } else
-                       usage_with_options(config_usage, config_options);
+
+                       if (value) {
+                               ret = set_config(set, config_filename, var, 
value);
+                               continue;
+                       }
+                       ret = show_spec_config(set, var);
+                       if (ret < 0)
+                               goto none_err;
+
+                       free(arg);
+               }
        }
 
 none_err:
-- 
2.7.4

Reply via email to