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

Re: [PATCH] use skip_prefix() to avoid more magic numbers

From
Jeff King <peff@peff.net>
Date
Oct 6, 2014, 01:18 UTC
Message-ID
<20141006011827.GA11027@peff.net>
In-Reply-To
<20141005224919.GA19998@google.com>
On Sun, Oct 05, 2014 at 03:49:19PM -0700, Jonathan Nieder wrote:
Show 22 quoted lines
> > --- a/builtin/branch.c
> > +++ b/builtin/branch.c
> > @@ -81,14 +81,16 @@ static int parse_branch_color_slot(const char *var, int ofs)
> >  
> >  static int git_branch_config(const char *var, const char *value, void *cb)
> >  {
> > +	const char *slot_name;
> > +
> >  	if (starts_with(var, "column."))
> >  		return git_column_config(var, value, "branch", &colopts);
> >  	if (!strcmp(var, "color.branch")) {
> >  		branch_use_color = git_config_colorbool(var, value);
> >  		return 0;
> >  	}
> > -	if (starts_with(var, "color.branch.")) {
> > -		int slot = parse_branch_color_slot(var, 13);
> > +	if (skip_prefix(var, "color.branch.", &slot_name)) {
> > +		int slot = parse_branch_color_slot(var, slot_name - var);
> 
> I wonder why the separate var and offset parameters exist in the first
> place.  Wouldn't taking a single const char * so the old code could use
> 'var + 13' instead of 'var, 13' have worked?

I think this is in the same boat as parse_diff_color_slot, which I fixed in 9e1a5eb (parse_diff_color_slot: drop ofs parameter, 2014-06-18). The short of it is that the function used to want both the full name and the slot name, but now needs only the latter.

The fix you proposed below is along the same line, and looks good to me (and grepping for 'var *+ *ofs' shows only the two sites you found, so hopefully that is the last of it).

Show 8 quoted lines
> > @@ -809,18 +808,19 @@ static void parse_commit_header(struct format_commit_context *context)
> >  	int i;
> >  
> >  	for (i = 0; msg[i]; i++) {
> > +		const char *name;
> 
> ident instead of name, maybe? (since it's a 'name <email> timestamp'
> field)
Yeah, agreed.
-Peff
Previous: Jonathan NiederNext: Junio C Hamano
Message 3 of 13 in “use skip_prefix() to avoid more magic numbers”
  1. use skip_prefix() to avoid more magic numbersRené Scharfe, Oct 4, 2014
  2. Jonathan NiederOct 5, 2014
  3. Jeff KingOct 6, 2014
  4. Junio C HamanoOct 7, 2014
  5. Jeff KingOct 7, 2014
  6. Jeff KingOct 7, 2014
  7. Junio C HamanoOct 7, 2014
  8. Junio C HamanoOct 7, 2014
  9. Jeff KingOct 7, 2014
  10. Jeff KingOct 6, 2014
  11. Junio C HamanoOct 7, 2014
  12. René ScharfeOct 9, 2014
  13. Junio C HamanoOct 9, 2014

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.