From: Matthieu Moy Date: Mon, 21 Jul 2014 18:06:41 GMT Subject: Re: [PATCH v3 2/6] branch.c: replace `git_config()` with `git_config_get_string()` Message-ID: In-Reply-To: Junio C Hamano writes: > Tanay Abhra writes: > >> - if (cb.value) >> - strbuf_addstr(buf, cb.value); >> + strbuf_addstr(buf, v); >> + free((char*)v); > > In this cast, I smell an API mistake to insist an extra constness to > the output parameter of git_config_get_string() in [3/4] of the > previous series. Unlike the underlying git_config_get_value(), > which lets the caller peek into the internal cached copy, the caller > of git_config_get_string() is given its own copy, and I do not > offhand see a good reason to forbid the caller from modifying it. Indeed. My suggestion to change the declaration of char * variables actually seem like a workaround for an API mistake after reading this. (well, actually, the declaration could be modified if we think it brings any new safety, but that should be another topic) -- Matthieu Moy http://www-verimag.imag.fr/~moy/