[PATCH v4 05/27] revision.[ch]: split freeing of revs->commit into a function
- From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
- Date
- Mar 31, 2022, 01:11 UTC
- Message-ID
- <patch-v4-05.27-2d0ed57ec2e-20220331T005325Z-avarab@gmail.com>
- In-Reply-To
- <cover-v4-00.27-00000000000-20220331T005325Z-avarab@gmail.com>
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(-)
diff --git a/revision.c b/revision.c index 7d435f80480..29f102cb83d 100644 --- a/revision.c +++ b/revision.c @@ -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
-- 2.35.1.1557.g4e3e9cdb5e0