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

Re: [PATCH v3 2/2] fsck.c: Rewrite fsck_commit() to use skip_prefix()

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 13, 2014, 19:14 UTC
Message-ID
<xmqq7g7xj4hz.fsf@gitster.dls.corp.google.com>
In-Reply-To
<1394685951-9726-3-git-send-email-yshuiv7@gmail.com>
Yuxuan Shui <yshuiv7@gmail.com> writes:
Show 30 quoted lines
> Currently we use memcmp() in fsck_commit() to check if buffer start
> with a certain prefix, and skip the prefix if it does. This is exactly
> what skip_prefix() does. And since skip_prefix() has a self-explaintory
> name, this could make the code more readable.
>
> Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
> ---
>  fsck.c | 24 +++++++++++++-----------
>  1 file changed, 13 insertions(+), 11 deletions(-)
>
> diff --git a/fsck.c b/fsck.c
> index 7776660..7e6b829 100644
> --- a/fsck.c
> +++ b/fsck.c
> @@ -281,7 +281,7 @@ static int fsck_ident(const char **ident, struct object *obj, fsck_error error_f
>  
>  static int fsck_commit(struct commit *commit, fsck_error error_func)
>  {
> -	const char *buffer = commit->buffer;
> +	const char *buffer = commit->buffer, *tmp;
>  	unsigned char tree_sha1[20], sha1[20];
>  	struct commit_graft *graft;
>  	int parents = 0;
> @@ -290,15 +290,17 @@ static int fsck_commit(struct commit *commit, fsck_error error_func)
>  	if (commit->date == ULONG_MAX)
>  		return error_func(&commit->object, FSCK_ERROR, "invalid author/committer line");
>  
> -	if (memcmp(buffer, "tree ", 5))
> +	buffer = skip_prefix(buffer, "tree ");
> +	if (buffer == NULL)
We encourage people to write this as:
	if (!buffer)
The same comment applies to other new lines in this patch.
Previous: Yuxuan ShuiNext: Junio C Hamano
Message 5 of 6 in “GSoC micro project, rewrite fsck_commit() to use skip_prefix()”
  1. 0/2 GSoC micro project, rewrite fsck_commit() to use skip_prefix()Yuxuan Shui, Mar 13, 2014
  2. 1/2 fsck.c: Change the type of fsck_ident()'s first argumentYuxuan Shui, Mar 13, 2014
  3. Junio C HamanoMar 13, 2014
  4. 2/2 fsck.c: Rewrite fsck_commit() to use skip_prefix()Yuxuan Shui, Mar 13, 2014
  5. Junio C HamanoMar 13, 2014
  6. Junio C HamanoMar 13, 2014

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.