git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/6] config: add 'git_config_string' to refactor string config variables.

From
Jeff King <peff@peff.net>
Date
Feb 16, 2008, 18:33 UTC
Message-ID
<20080216183312.GA20777@sigill.intra.peff.net>
In-Reply-To
<200802161921.43346.chriscool@tuxfamily.org>
On Sat, Feb 16, 2008 at 07:21:42PM +0100, Christian Couder wrote:
> Well, in many places where this function could be used the dest string is 
> a "const char *" and in many other places it's a "char *", but it feels 
> safer to try to promote the latter into the former (like I did in the 
> following patches) rather than the other way around.

Hrm. I suppose that is true if you are talking about removing the 'const' from existing variables (which although pointing to non-const allocated space in this instance, may in other code paths point to actual const space).

But this is really a matter of C handling this poorly, because we have to pass in a pointer rather than using the return value. So I think the method that best reflects the desired behavior would be to actually cast "const char *" to "char *" at the callsite. But unfortunately casts in C are error-prone themselves, and make the code a little harder to read.

So perhaps your solution is a reasonable compromise.
-Peff
Previous: Christian Couder
Message 4 of 4 in “config: add 'git_config_string' to refactor string config variables.”
  1. 2/6 config: add 'git_config_string' to refactor string config variables.Christian Couder, Feb 16, 2008
  2. Jeff KingFeb 16, 2008
  3. Christian CouderFeb 16, 2008
  4. Jeff KingFeb 16, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.