plug a few leaks in revision walking used in describe.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2007-01-10 22:36:16 -08:00
Родитель 80dbae03b0
Коммит 94d23673e3
2 изменённых файлов: 6 добавлений и 3 удалений

Просмотреть файл

@ -183,6 +183,7 @@ static void describe(const char *arg, int last_one)
cur_match->depth++;
if (!min_match || cur_match->depth < min_match->depth)
min_match = cur_match;
free_commit_list(revs.commits);
}
printf("%s-g%s\n", min_match->name->path,
find_unique_abbrev(cmit->object.sha1, abbrev));

Просмотреть файл

@ -1121,21 +1121,23 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
void prepare_revision_walk(struct rev_info *revs)
{
int nr = revs->pending.nr;
struct object_array_entry *list = revs->pending.objects;
struct object_array_entry *e, *list;
e = list = revs->pending.objects;
revs->pending.nr = 0;
revs->pending.alloc = 0;
revs->pending.objects = NULL;
while (--nr >= 0) {
struct commit *commit = handle_commit(revs, list->item, list->name);
struct commit *commit = handle_commit(revs, e->item, e->name);
if (commit) {
if (!(commit->object.flags & SEEN)) {
commit->object.flags |= SEEN;
insert_by_date(commit, &revs->commits);
}
}
list++;
e++;
}
free(list);
if (revs->no_walk)
return;