Jeff King [off-list ref] writes:
quoted
diff --git a/wt-status.c b/wt-status.c
index 435fc28..96a731e 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -1317,14 +1317,14 @@ static int grab_1st_switch(unsigned char *osha1, unsigned char *nsha1,
target += strlen(" to ");
strbuf_reset(&cb->buf);
hashcpy(cb->nsha1, nsha1);
- for (end = target; *end && *end != '\n'; end++)
- ;
- if (!memcmp(target, "HEAD", end - target)) {
+ if (skip_prefix(target, "HEAD", &end) && (!*end || *end == '\n')) {
/* HEAD is relative. Resolve it to the right reflog entry. */
strbuf_addstr(&cb->buf,
find_unique_abbrev(nsha1, DEFAULT_ABBREV));
return 1;
}
Yeah, I think parsing left-to-right like this makes things much more
obvious.
Agreed.
quoted
+ for (end = target; *end && *end != '\n'; end++)
+ ;
This loop (which I know you just moved, not wrote) is basically
strchrnul, isn't it? That might be more readable.
Agreed too.
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/