Re: [PATCH v2 5/8] grep: allocate subrepos on heap
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 13, 2021, 21:44 UTC
- Message-ID
- <xmqqh7ftuihx.fsf@gitster.g>
- In-Reply-To
- <3f2481522404bcf66d83d02bd63b6bf682cee0ef.1628888668.git.jonathantanmy@google.com>
Jonathan Tan <jonathantanmy@google.com> writes:
Show 11 quoted lines
> +static void free_repos(void)
> +{
> + int i;
> +
> + for (i = 0; i < repos_to_free_nr; i++) {
> + repo_clear(repos_to_free[i]);
> + free(repos_to_free[i]);
> + }
> + free(repos_to_free);
> + repos_to_free_nr = 0;
> + repos_to_free_alloc = 0;The clearing of nr/alloc is new in this round.
It does not matter if we won't using anything that allocates repositories and accumulates them in repos_to_free after we call free_repos() once, but then clearing the nr/alloc would not matter, either, so it may be more consistent to FREE_AND_NULL(repos_to_free) here, not just free(), to prepare for another call to ALLOC_GROW() on the <repos_to_free, repos_to_free_nr, repos_to_free_alloc> tuple, which eventually will call into REALLOC_ARRAY() on the pointer, I would think.