@@ -2923,6 +2923,14 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, struct s
return left;
}
+static void release_revisions_commit_list(struct rev_info *revs)
+{
+ if (revs->commits) {
+ free_commit_list(revs->commits);
+ revs->commits = NULL;
+ }
+}
+
static void add_child(struct rev_info *revs, struct commit *parent, struct commit *child)
{
struct commit_list *l = xcalloc(1, sizeof(*l));
@@ -4080,10 +4088,7 @@ static void create_boundary_commit_list(struct rev_info *revs)
* boundary commits anyway. (This is what the code has always
* done.)
*/
- if (revs->commits) {
- free_commit_list(revs->commits);
- revs->commits = NULL;
- }
+ release_revisions_commit_list(revs);
/*
* Put all of the actual boundary commits from revs->boundary_commits
Move the existing code for invoking free_commit_list() and setting revs->commits to NULL into a new release_revisions_commit_list() function. This will be used as part of a general free()-ing mechanism for "struct rev_info". Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- revision.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)