use skip_prefix to avoid magic numbers
It's a common idiom to match a prefix and then skip past it with a magic number, like: if (starts_with(foo, "bar")) foo += 3; This is easy to get wrong, since you have to count the prefix string yourself, and there's no compiler check if the string changes. We can use skip_prefix to avoid the magic numbers here. Note that some of these conversions could be much shorter. For example: if (starts_with(arg, "--foo=")) { bar = arg + 6; continue; } could become: if (skip_prefix(arg, "--foo=", &bar)) continue; However, I have left it as: if (skip_prefix(arg, "--foo=", &v)) { bar = v; continue; } to visually match nearby cases which need to actually process the string. Like: if (skip_prefix(arg, "--foo=", &v)) { bar = atoi(v); continue; } Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
21a2d4ada5
commit
ae021d8791
6
help.c
6
help.c
@ -251,11 +251,13 @@ static struct cmdnames aliases;
|
||||
|
||||
static int git_unknown_cmd_config(const char *var, const char *value, void *cb)
|
||||
{
|
||||
const char *p;
|
||||
|
||||
if (!strcmp(var, "help.autocorrect"))
|
||||
autocorrect = git_config_int(var,value);
|
||||
/* Also use aliases for command lookup */
|
||||
if (starts_with(var, "alias."))
|
||||
add_cmdname(&aliases, var + 6, strlen(var + 6));
|
||||
if (skip_prefix(var, "alias.", &p))
|
||||
add_cmdname(&aliases, p, strlen(p));
|
||||
|
||||
return git_default_config(var, value, cb);
|
||||
}
|
||||
|
Reference in New Issue
Block a user