commit: avoid allocation in clear_commit_marks_many()
Pass the entries of the commit array directly to clear_commit_marks_1() instead of adding them to a commit_list first. The function clears the commit and any first parent without allocation; only higher numbered parents are added to a list for later treatment. This change extends that optimization to clear_commit_marks_many(). Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
3013dff866
commit
07f7d55a34
2
commit.c
2
commit.c
|
@ -547,7 +547,7 @@ void clear_commit_marks_many(int nr, struct commit **commit, unsigned int mark)
|
||||||
struct commit_list *list = NULL;
|
struct commit_list *list = NULL;
|
||||||
|
|
||||||
while (nr--) {
|
while (nr--) {
|
||||||
commit_list_insert(*commit, &list);
|
clear_commit_marks_1(&list, *commit, mark);
|
||||||
commit++;
|
commit++;
|
||||||
}
|
}
|
||||||
while (list)
|
while (list)
|
||||||
|
|
Loading…
Reference in New Issue