@@ -2311,8 +2311,7 @@ int config_with_options(config_fn_t fn, void *data,
return ret;
}
-static void configset_iter(struct config_reader *reader, struct config_set *set,
- config_fn_t fn, void *data)
+static void configset_iter(struct config_set *set, config_fn_t fn, void *data)
{
int i, value_index;
struct string_list *values;
@@ -2406,7 +2405,6 @@ static int configset_find_element(struct config_set *set, const char *key,
}
static int configset_add_value(const struct key_value_info *kvi_p,
- struct config_reader *reader,
struct config_set *set, const char *key,
const char *value)
{
@@ -2437,11 +2435,7 @@ static int configset_add_value(const struct key_value_info *kvi_p,
l_item->e = e;
l_item->value_index = e->value_list.nr - 1;
- if (reader->source->name) {
- kvi_from_source(reader->source, kvi_p->scope, kv_info);
- } else {
- kvi_from_param(kv_info);
- }
+ memcpy(kv_info, kvi_p, sizeof(struct key_value_info));
si->util = kv_info;
return 0;
@@ -2489,28 +2483,18 @@ void git_configset_clear(struct config_set *set)
set->list.items = NULL;
}
-struct configset_add_data {
- struct config_set *config_set;
- struct config_reader *config_reader;
-};
-#define CONFIGSET_ADD_INIT { 0 }
-
static int config_set_callback(const char *key, const char *value,
const struct config_context *ctx,
void *cb)
{
- struct configset_add_data *data = cb;
- configset_add_value(ctx->kvi, data->config_reader, data->config_set,
- key, value);
+ struct config_set *set = cb;
+ configset_add_value(ctx->kvi, set, key, value);
return 0;
}
int git_configset_add_file(struct config_set *set, const char *filename)
{
- struct configset_add_data data = CONFIGSET_ADD_INIT;
- data.config_reader = &the_reader;
- data.config_set = set;
- return git_config_from_file(config_set_callback, filename, &data);
+ return git_config_from_file(config_set_callback, filename, set);
}
int git_configset_get_value(struct config_set *set, const char *key,
@@ -2676,7 +2660,6 @@ int git_configset_get_pathname(struct config_set *set, const char *key, const ch
static void repo_read_config(struct repository *repo)
{
struct config_options opts = { 0 };
- struct configset_add_data data = CONFIGSET_ADD_INIT;
opts.respect_includes = 1;
opts.commondir = repo->commondir;
@@ -2688,10 +2671,8 @@ static void repo_read_config(struct repository *repo)
git_configset_clear(repo->config);
git_configset_init(repo->config);
- data.config_set = repo->config;
- data.config_reader = &the_reader;
-
- if (config_with_options(config_set_callback, &data, NULL, repo, &opts) < 0)
+ if (config_with_options(config_set_callback, repo->config, NULL,
+ repo, &opts) < 0)
/*
* config_with_options() normally returns only
* zero, as most errors are fatal, and
@@ -2723,7 +2704,7 @@ static void repo_config_clear(struct repository *repo)
void repo_config(struct repository *repo, config_fn_t fn, void *data)
{
git_config_check_init(repo);
- configset_iter(&the_reader, repo->config, fn, data);
+ configset_iter(repo->config, fn, data);
}
int repo_config_get(struct repository *repo, const char *key)
@@ -2830,19 +2811,17 @@ static void read_protected_config(void)
.ignore_worktree = 1,
.system_gently = 1,
};
- struct configset_add_data data = CONFIGSET_ADD_INIT;
git_configset_init(&protected_config);
- data.config_set = &protected_config;
- data.config_reader = &the_reader;
- config_with_options(config_set_callback, &data, NULL, NULL, &opts);
+ config_with_options(config_set_callback, &protected_config, NULL,
+ NULL, &opts);
}
void git_protected_config(config_fn_t fn, void *data)
{
if (!protected_config.hash_initialized)
read_protected_config();
- configset_iter(&the_reader, &protected_config, fn, data);
+ configset_iter(&protected_config, fn, data);
}
/* Functions used historically to read configuration from 'the_repository' */