Commit 47c31f58 by Vicent Marti Committed by Andreas Ericsson

Fixed linked list tail being lost when sorting.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
Signed-off-by: Andreas Ericsson <ae@op5.se>
parent a7c182c5
...@@ -293,7 +293,7 @@ void git_commit_list_clear(git_commit_list *list, int free_commits) ...@@ -293,7 +293,7 @@ void git_commit_list_clear(git_commit_list *list, int free_commits)
void git_commit_list_sort(git_commit_list *list) void git_commit_list_sort(git_commit_list *list)
{ {
git_commit_node *p, *q, *e, *tail; git_commit_node *p, *q, *e;
int in_size, p_size, q_size, merge_count, i; int in_size, p_size, q_size, merge_count, i;
if (list->head == NULL) if (list->head == NULL)
...@@ -304,7 +304,7 @@ void git_commit_list_sort(git_commit_list *list) ...@@ -304,7 +304,7 @@ void git_commit_list_sort(git_commit_list *list)
do do
{ {
p = list->head; p = list->head;
tail = NULL; list->tail = NULL;
merge_count = 0; merge_count = 0;
while (p != NULL) while (p != NULL)
...@@ -329,18 +329,18 @@ void git_commit_list_sort(git_commit_list *list) ...@@ -329,18 +329,18 @@ void git_commit_list_sort(git_commit_list *list)
else else
e = q, q = q->next, q_size--; e = q, q = q->next, q_size--;
if (tail != NULL) if (list->tail != NULL)
tail->next = e; list->tail->next = e;
else else
list->head = e; list->head = e;
tail = e; list->tail = e;
} }
p = q; p = q;
} }
tail->next = NULL; list->tail->next = NULL;
in_size *= 2; in_size *= 2;
} while (merge_count > 1); } while (merge_count > 1);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment