Fix git_config_bool_or_int

The earlier one botched the return value logic between config_bool and
config_bool_and_int.  The former should normalize between 0 and 1 while
the latter should give back full range of integer values.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Junio C Hamano
2008-04-13 12:11:11 -07:00
parent f43e2fd43b
commit c35b0b5884
3 changed files with 80 additions and 4 deletions

View File

@ -315,13 +315,13 @@ int git_config_bool_or_int(const char *name, const char *value, int *is_bool)
if (!strcasecmp(value, "false") || !strcasecmp(value, "no"))
return 0;
*is_bool = 0;
return git_config_int(name, value) != 0;
return git_config_int(name, value);
}
int git_config_bool(const char *name, const char *value)
{
int discard;
return git_config_bool_or_int(name, value, &discard);
return !!git_config_bool_or_int(name, value, &discard);
}
int git_config_string(const char **dest, const char *var, const char *value)