use skip_prefix to avoid repeating strings
It's a common idiom to match a prefix and then skip past it with strlen, like: if (starts_with(foo, "bar")) foo += strlen("bar"); This avoids magic numbers, but means we have to repeat the string (and there is no compiler check that we didn't make a typo in one of the strings). We can use skip_prefix to handle this case without repeating ourselves. 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
ae021d8791
commit
95b567c7c3
@ -911,10 +911,8 @@ static int grab_nth_branch_switch(unsigned char *osha1, unsigned char *nsha1,
|
||||
const char *match = NULL, *target = NULL;
|
||||
size_t len;
|
||||
|
||||
if (starts_with(message, "checkout: moving from ")) {
|
||||
match = message + strlen("checkout: moving from ");
|
||||
if (skip_prefix(message, "checkout: moving from ", &match))
|
||||
target = strstr(match, " to ");
|
||||
}
|
||||
|
||||
if (!match || !target)
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user