Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH v3 2/6] branch.c: replace `git_config()` with `git_config_get_string()`

From: Matthieu Moy <hidden>
Date: 2016-06-15 23:01:59

Junio C Hamano [off-list ref] writes:
Tanay Abhra [off-list ref] writes:
quoted
-	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/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help