From: Junio C Hamano Date: Thu, 13 Mar 2014 19:14:00 GMT Subject: Re: [PATCH v3 2/2] fsck.c: Rewrite fsck_commit() to use skip_prefix() Message-ID: In-Reply-To: <1394685951-9726-3-git-send-email-yshuiv7@gmail.com> Yuxuan Shui writes: > 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 > --- > 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.