Skip to content

Commit

Permalink
perf config: Refactor a duplicated code for obtaining config file name
Browse files Browse the repository at this point in the history
We were doing the same sequence to figure out what is the config
pathname to use, fix it by doing it before those two uses.

Signed-off-by: Taeung Song <treeze.taeung@gmail.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: http://lkml.kernel.org/r/1493209268-5543-2-git-send-email-treeze.taeung@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
Taeung Song authored and Arnaldo Carvalho de Melo committed May 2, 2017
1 parent d804064 commit 4341ec6
Showing 1 changed file with 8 additions and 11 deletions.
19 changes: 8 additions & 11 deletions tools/perf/builtin-config.c
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ int cmd_config(int argc, const char **argv)
int i, ret = 0;
struct perf_config_set *set;
char *user_config = mkpath("%s/.perfconfig", getenv("HOME"));
const char *config_filename;

argc = parse_options(argc, argv, config_options, config_usage,
PARSE_OPT_STOP_AT_NON_OPTION);
Expand All @@ -175,6 +176,11 @@ int cmd_config(int argc, const char **argv)
else if (use_user_config)
config_exclusive_filename = user_config;

if (!config_exclusive_filename)
config_filename = user_config;
else
config_filename = config_exclusive_filename;

/*
* At only 'config' sub-command, individually use the config set
* because of reinitializing with options config file location.
Expand All @@ -192,13 +198,9 @@ int cmd_config(int argc, const char **argv)
parse_options_usage(config_usage, config_options, "l", 1);
} else {
ret = show_config(set);
if (ret < 0) {
const char * config_filename = config_exclusive_filename;
if (!config_exclusive_filename)
config_filename = user_config;
if (ret < 0)
pr_err("Nothing configured, "
"please check your %s \n", config_filename);
}
}
break;
default:
Expand All @@ -221,13 +223,8 @@ int cmd_config(int argc, const char **argv)

if (value == NULL)
ret = show_spec_config(set, var);
else {
const char *config_filename = config_exclusive_filename;

if (!config_exclusive_filename)
config_filename = user_config;
else
ret = set_config(set, config_filename, var, value);
}
free(arg);
}
} else
Expand Down

0 comments on commit 4341ec6

Please sign in to comment.