Thread (1 message) 1 message, 1 author, 2016-06-15

Re: [PATCH] wt-status: use strncmp() for length-limited string comparison

From: Matthieu Moy <hidden>
Date: 2016-06-15 23:07:19

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/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help