read-cache.c: replace git_config() with git_config_get_*() family

Use `git_config_get_*()` family instead of `git_config()` to take
advantage of the config-set API which provides a cleaner control flow.

Use an intermediate value, as `version` can not be used directly in
git_config_get_int() due to incompatible type.

Signed-off-by: Tanay Abhra <tanayabh@gmail.com>
Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Tanay Abhra 2014-08-07 09:21:18 -07:00 committed by Junio C Hamano
parent 6881f0ccb4
commit b27a572099

View File

@ -1238,24 +1238,16 @@ static struct cache_entry *refresh_cache_entry(struct cache_entry *ce,
#define INDEX_FORMAT_DEFAULT 3
static int index_format_config(const char *var, const char *value, void *cb)
{
unsigned int *version = cb;
if (!strcmp(var, "index.version")) {
*version = git_config_int(var, value);
return 0;
}
return 1;
}
static unsigned int get_index_format_default(void)
{
char *envversion = getenv("GIT_INDEX_VERSION");
char *endp;
int value;
unsigned int version = INDEX_FORMAT_DEFAULT;
if (!envversion) {
git_config(index_format_config, &version);
if (!git_config_get_int("index.version", &value))
version = value;
if (version < INDEX_FORMAT_LB || INDEX_FORMAT_UB < version) {
warning(_("index.version set, but the value is invalid.\n"
"Using version %i"), INDEX_FORMAT_DEFAULT);