Hi, I've done a microproject, number 15, "Rewrite fsck.c:fsck_commit() to use starts_with() and/or skip_prefix()." I used only starts_with(). memcmp() returns 0 when both are equal, therefore when replacing with starts_with() , I used "!" or deleted where appropriate. I plan to apply for the GSoC 2014. I expect your feedbacks! Signed-off-by: Oguzhan Unlu <cengoguzhanunlu@xxxxxxxxx> --- fsck.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/fsck.c b/fsck.c index 64bf279..d43be98 100644 --- a/fsck.c +++ b/fsck.c @@ -290,12 +290,12 @@ static int fsck_commit(struct commit *commit, fsck_error error_func) int parents = 0; int err; - if (memcmp(buffer, "tree ", 5)) + if (!starts_with(buffer, "tree ")) return error_func(&commit->object, FSCK_ERROR, "invalid format - expected 'tree' line"); if (get_sha1_hex(buffer+5, tree_sha1) || buffer[45] != '\n') return error_func(&commit->object, FSCK_ERROR, "invalid 'tree' line format - bad sha1"); buffer += 46; - while (!memcmp(buffer, "parent ", 7)) { + while (starts_with(buffer, "parent ")) { if (get_sha1_hex(buffer+7, sha1) || buffer[47] != '\n') return error_func(&commit->object, FSCK_ERROR, "invalid 'parent' line format - bad sha1"); buffer += 48; @@ -322,13 +322,13 @@ static int fsck_commit(struct commit *commit, fsck_error error_func) if (p || parents) return error_func(&commit->object, FSCK_ERROR, "parent objects missing"); } - if (memcmp(buffer, "author ", 7)) + if (!starts_with(buffer, "author ")) return error_func(&commit->object, FSCK_ERROR, "invalid format - expected 'author' line"); buffer += 7; err = fsck_ident(&buffer, &commit->object, error_func); if (err) return err; - if (memcmp(buffer, "committer ", strlen("committer "))) + if (!starts_with(buffer, "committer ")) return error_func(&commit->object, FSCK_ERROR, "invalid format - expected 'committer' line"); buffer += strlen("committer "); err = fsck_ident(&buffer, &commit->object, error_func); -- 1.9.1.286.g5172cb3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html