git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2] wt-status: correct and simplify check for detached HEAD

From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Date
Nov 25, 2015, 16:21 UTC
Message-ID
<vpqvb8qt5hr.fsf@anie.imag.fr>
In-Reply-To
<5655C14A.1060308@web.de>
René Scharfe <l.s.r@web.de> writes:
Show 23 quoted lines
> diff --git a/wt-status.c b/wt-status.c
> index 435fc28..ced53dd 100644
> --- a/wt-status.c
> +++ b/wt-status.c
> @@ -1317,15 +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)) {
> +	end = strchrnul(target, '\n');
> +	strbuf_add(&cb->buf, target, end - target);
> +	if (!strcmp(cb->buf.buf, "HEAD")) {
>  		/* HEAD is relative. Resolve it to the right reflog entry. */
> +		strbuf_reset(&cb->buf);
>  		strbuf_addstr(&cb->buf,
>  			      find_unique_abbrev(nsha1, DEFAULT_ABBREV));
> -		return 1;
>  	}
> -	strbuf_add(&cb->buf, target, end - target);
>  	return 1;
>  }

Indeed, the code is much simpler like this than with the previous attempts. Looks all right to me.

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Previous: René ScharfeNext: Jeff King
Message 7 of 8 in “wt-status: use strncmp() for length-limited string comparison”
  1. wt-status: use strncmp() for length-limited string comparisonRené Scharfe, Nov 6, 2015
  2. Jeff KingNov 24, 2015
  3. René ScharfeNov 25, 2015
  4. Jeff KingNov 25, 2015
  5. Matthieu MoyNov 25, 2015
  6. wt-status: correct and simplify check for detached HEADRené Scharfe, Nov 25, 2015
  7. Matthieu MoyNov 25, 2015
  8. Jeff KingNov 28, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.