X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=config.c;h=9918b9351d8b8b9b33fea479bd4f4997a5d6528a;hb=b312b4123b053898a583aa6e8da1b26ea828105a;hp=4b0a82040e7982ab936ed52b2bb3405bc85b80f8;hpb=9cffe2018a8c400cbd50a8aec4eddea97c4ede2f;p=thirdparty%2Fgit.git diff --git a/config.c b/config.c index 4b0a82040e..9918b9351d 100644 --- a/config.c +++ b/config.c @@ -410,7 +410,7 @@ unsigned long git_config_ulong(const char *name, const char *value) return ret; } -int git_config_maybe_bool(const char *name, const char *value) +static int git_config_maybe_bool_text(const char *name, const char *value) { if (!value) return 1; @@ -427,9 +427,21 @@ int git_config_maybe_bool(const char *name, const char *value) return -1; } +int git_config_maybe_bool(const char *name, const char *value) +{ + int v = git_config_maybe_bool_text(name, value); + if (0 <= v) + return v; + if (!strcmp(value, "0")) + return 0; + if (!strcmp(value, "1")) + return 1; + return -1; +} + int git_config_bool_or_int(const char *name, const char *value, int *is_bool) { - int v = git_config_maybe_bool(name, value); + int v = git_config_maybe_bool_text(name, value); if (0 <= v) { *is_bool = 1; return v;