From: Junio C Hamano Date: Mon, 29 Feb 2016 19:47:51 GMT Subject: Re: [PATCH v5 3/3] git: submodule honor -c credential.* from command line Message-ID: In-Reply-To: Jacob Keller writes: > On Mon, Feb 29, 2016 at 10:20 AM, Junio C Hamano wrote: >> Jacob Keller writes: >> >>> +static int sanitize_submodule_config(const char *var, const char *value, void *data) >>> +{ >>> + struct strbuf quoted = STRBUF_INIT; >>> + struct strbuf *out = data; >>> + >>> + if (submodule_config_ok(var)) { >>> + if (out->len) >>> + strbuf_addch(out, ' '); >>> + >>> + sq_quotef(out, "%s=%s", var, value); >> >> Can a configuration variable that comes from the original command >> line be a boolean true that is spelled without "=true", i.e. can >> value be NULL here? >> > > Wouldn't it just be the empty string? I was talking about the "not even an equal sign" true, i.e. $ git -c random.what -c random.false=no -c random.true=yes \ config --bool --get-regexp 'random.*' random.what true random.false false random.true true What would you see for random.what in the above function (if the callchain allowed you to pass it through)?