tree: avoid advancing over the filename multiple times

We've already looked at the filename with `memchr()` and then used
`strlen()` to allocate the entry. We already know how much we have to
advance to get to the object id, so add the filename length instead of
looking at each byte again.
This commit is contained in:
Carlos Martín Nieto 2015-11-14 23:46:21 +01:00
parent e0ab1ca028
commit 7132150ddf

View File

@ -414,10 +414,8 @@ int git_tree__parse(void *_tree, git_odb_object *odb_obj)
entry->attr = attr;
}
while (buffer < buffer_end && *buffer != 0)
buffer++;
buffer++;
/* Advance to the ID just after the path */
buffer += entry->filename_len + 1;
git_oid_fromraw(&entry->oid, (const unsigned char *)buffer);
buffer += GIT_OID_RAWSZ;