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

Re: [PATCH v2 2/5] fast-import: don't fail on omitted committer name

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 11, 2011, 22:06 UTC
Message-ID
<7vwrejppq4.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1313058070-4774-3-git-send-email-divanorama@gmail.com>
Dmitry Ivankov <divanorama@gmail.com> writes:
Show 12 quoted lines
> diff --git a/fast-import.c b/fast-import.c
> index 7cc2262..ed1f7c9 100644
> --- a/fast-import.c
> +++ b/fast-import.c
> @@ -1973,6 +1973,10 @@ static char *parse_ident(const char *buf)
>  	size_t name_len;
>  	char *ident;
>  
> +	/* ensure there is a space delimiter even if there is no name */
> +	if (*buf == '<')
> +		--buf;
> +

This is somewhat cryptic, even though it may be correct, especially if the reader of the code does not know that this function is called by the caller after reading "author " (or committer/tagger) and buf points at one byte beyond that SP after the string that specifies the kind of the person, hence "--buf" [*1*] makes the subsequent strncpy() start copying from that SP which makes the result correct.

Perhaps an additional comment before the function is in order?
Thanks.
[Footnote]

*1* by the way, as pure style thing, I think our codebase favors to use post-*crement, i.e. "buf--", if you are doing pre/post-*crement purely for its side effect.

Previous: Dmitry IvankovNext: Dmitry Ivankov
Message 4 of 7 in “fixes for committer/author parsing/check”
  1. 0/5 fixes for committer/author parsing/checkDmitry Ivankov, Aug 11, 2011
  2. 1/5 fast-import: add input format testsDmitry Ivankov, Aug 11, 2011
  3. 2/5 fast-import: don't fail on omitted committer nameDmitry Ivankov, Aug 11, 2011
  4. Junio C HamanoAug 11, 2011
  5. 3/5 fast-import: check committer name more strictlyDmitry Ivankov, Aug 11, 2011
  6. 4/5 fsck: add a few committer name testsDmitry Ivankov, Aug 11, 2011
  7. 5/5 fsck: improve committer/author checkDmitry Ivankov, Aug 11, 2011

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.