config.c (c6fc018a7a64c2c3ea56529fd8d0ca0f43408b0f) config.c (08d090cfed8cc2ce5821ddb2b91118979e511019)
1/*
2 * config.c
3 *
4 * Helper functions for parsing config items.
5 * Originally copied from GIT source.
6 *
7 * Copyright (C) Linus Torvalds, 2005
8 * Copyright (C) Johannes Schindelin, 2005

--- 580 unchanged lines hidden (view full) ---

589
590 item = find_config_item(name, section);
591 if (!item) {
592 item = add_config_item(section, name);
593 if (!item)
594 goto out_free;
595 }
596
1/*
2 * config.c
3 *
4 * Helper functions for parsing config items.
5 * Originally copied from GIT source.
6 *
7 * Copyright (C) Linus Torvalds, 2005
8 * Copyright (C) Johannes Schindelin, 2005

--- 580 unchanged lines hidden (view full) ---

589
590 item = find_config_item(name, section);
591 if (!item) {
592 item = add_config_item(section, name);
593 if (!item)
594 goto out_free;
595 }
596
597 /* perf_config_set can contain both user and system config items.
598 * So we should know where each value is from.
599 * The classification would be needed when a particular config file
600 * is overwrited by setting feature i.e. set_config().
601 */
602 if (strcmp(config_file_name, perf_etc_perfconfig()) == 0) {
603 section->from_system_config = true;
604 item->from_system_config = true;
605 } else {
606 section->from_system_config = false;
607 item->from_system_config = false;
608 }
609
597 ret = set_value(item, value);
598 return ret;
599
600out_free:
601 free(key);
602 return -1;
603}
604
610 ret = set_value(item, value);
611 return ret;
612
613out_free:
614 free(key);
615 return -1;
616}
617
605int perf_config_set__collect(struct perf_config_set *set,
618int perf_config_set__collect(struct perf_config_set *set, const char *file_name,
606 const char *var, const char *value)
607{
619 const char *var, const char *value)
620{
621 config_file_name = file_name;
608 return collect_config(var, value, set);
609}
610
611static int perf_config_set__init(struct perf_config_set *set)
612{
613 int ret = -1;
614 const char *home = NULL;
615

--- 173 unchanged lines hidden ---
622 return collect_config(var, value, set);
623}
624
625static int perf_config_set__init(struct perf_config_set *set)
626{
627 int ret = -1;
628 const char *home = NULL;
629

--- 173 unchanged lines hidden ---