git_config: don't peek at global config_parameters
The config_parameters list in config.c is an implementation detail of git_config_from_parameters; instead, that function should tell us whether it found anything. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3ddf0968c2
commit
5a0c9eeb89
15
config.c
15
config.c
@ -832,7 +832,7 @@ int git_config_from_parameters(config_fn_t fn, void *data)
|
||||
for (ct = config_parameters; ct; ct = ct->next)
|
||||
if (fn(ct->name, ct->value, data) < 0)
|
||||
return -1;
|
||||
return 0;
|
||||
return config_parameters != NULL;
|
||||
}
|
||||
|
||||
int git_config_early(config_fn_t fn, void *data, const char *repo_config)
|
||||
@ -864,9 +864,16 @@ int git_config_early(config_fn_t fn, void *data, const char *repo_config)
|
||||
found += 1;
|
||||
}
|
||||
|
||||
ret += git_config_from_parameters(fn, data);
|
||||
if (config_parameters)
|
||||
found += 1;
|
||||
switch (git_config_from_parameters(fn, data)) {
|
||||
case -1: /* error */
|
||||
ret--;
|
||||
break;
|
||||
case 0: /* found nothing */
|
||||
break;
|
||||
default: /* found at least one item */
|
||||
found++;
|
||||
break;
|
||||
}
|
||||
|
||||
if (found == 0)
|
||||
return -1;
|
||||
|
Loading…
Reference in New Issue
Block a user