Re: [PATCH] wt-status: use strncmp() for length-limited string comparison
Jeff King <peff@peff.net> writes:
Show 20 quoted lines
>> 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.Show 5 quoted lines
>> + 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.
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/