diff options
Diffstat (limited to 'tools/perf/util/config.c')
-rw-r--r-- | tools/perf/util/config.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/tools/perf/util/config.c b/tools/perf/util/config.c index c8fb65d923cb..3d906dbbef74 100644 --- a/tools/perf/util/config.c +++ b/tools/perf/util/config.c @@ -594,6 +594,19 @@ static int collect_config(const char *var, const char *value, goto out_free; } + /* perf_config_set can contain both user and system config items. + * So we should know where each value is from. + * The classification would be needed when a particular config file + * is overwrited by setting feature i.e. set_config(). + */ + if (strcmp(config_file_name, perf_etc_perfconfig()) == 0) { + section->from_system_config = true; + item->from_system_config = true; + } else { + section->from_system_config = false; + item->from_system_config = false; + } + ret = set_value(item, value); return ret; @@ -602,9 +615,10 @@ out_free: return -1; } -int perf_config_set__collect(struct perf_config_set *set, +int perf_config_set__collect(struct perf_config_set *set, const char *file_name, const char *var, const char *value) { + config_file_name = file_name; return collect_config(var, value, set); } |