revision: add leak_pending flag
The new flag leak_pending in struct rev_info can be used to prevent prepare_revision_walk from freeing the list of pending objects. It will still forget about them, so it really is leaked. This behaviour may look weird at first, but it can be useful if the pointer to the list is saved before calling prepare_revision_walk. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
René Scharfe committed
Oct 1, 2011 at 17:56 UTC
4a43d374fcbdea26b3596592a497a1c16f90b9e6
2 files changed
+3
-1
revision.c
+2
-1
@@ -1974,7 +1974,8 @@ int prepare_revision_walk(struct rev_info *revs)
1974
}
1975
e++;
1976
}
1977
- free(list);
1977
+ if (!revs->leak_pending)
1978
+ free(list);
1979
1980
if (revs->no_walk)
1981
return 0;
revision.h
+1
@@ -97,6 +97,7 @@ struct rev_info {
97
date_mode_explicit:1,
98
preserve_subject:1;
99
unsigned int disable_stdin:1;
100
+ unsigned int leak_pending:1;
101
102
enum date_mode date_mode;
103