From: Derrick Stolee Date: Mon, 23 Feb 2026 03:25:49 GMT Subject: Re: [PATCH v2 06/13] config: format bools or ints gently Message-ID: In-Reply-To: On 2/17/26 4:05 AM, Patrick Steinhardt wrote: > On Fri, Feb 13, 2026 at 11:55:11PM +0000, Derrick Stolee via GitGitGadget wrote: >> diff --git a/builtin/config.c b/builtin/config.c >> index 2c169fc126..2c93e1725b 100644 >> --- a/builtin/config.c >> +++ b/builtin/config.c >> @@ -274,6 +274,34 @@ static int format_config_bool(struct strbuf *buf, >> return 0; >> } >> >> +static int format_config_bool_or_int(struct strbuf *buf, >> + const char *key_, >> + const char *value_, >> + const struct key_value_info *kvi, >> + int gently) >> +{ >> + int v, is_bool = 0; >> + >> + if (gently) { >> + v = git_parse_maybe_bool_text(value_); > > This function also returns `1` in case `!value`. Is this intended? I > guess so due to our implicit bool thingy, and `git_config_bool_or_int()` > seems to behave the same. Do you mean in the case of a NULL value? Based on the rules for iterating through config values, deep down in get_value() the value parameter sent to the function is never NULL. It may be an empty string, but never NULL. Thanks, -Stolee