summaryrefslogtreecommitdiff
path: root/split-index.c
diff options
context:
space:
mode:
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>2023-01-12 12:55:27 (GMT)
committerJunio C Hamano <gitster@pobox.com>2023-01-16 18:46:58 (GMT)
commit2f6b1eb794ee1f152c1a4b519e3b6dcecd0b487f (patch)
treece148cd756ca33dd7147a7136eb33c30530da8eb /split-index.c
parent5bdf6d4ac0d06817ce22322aa0172b49e6026544 (diff)
downloadgit-2f6b1eb794ee1f152c1a4b519e3b6dcecd0b487f.zip
git-2f6b1eb794ee1f152c1a4b519e3b6dcecd0b487f.tar.gz
git-2f6b1eb794ee1f152c1a4b519e3b6dcecd0b487f.tar.bz2
cache API: add a "INDEX_STATE_INIT" macro/function, add release_index()
Hopefully in some not so distant future, we'll get advantages from always initializing the "repo" member of the "struct index_state". To make that easier let's introduce an initialization macro & function. The various ad-hoc initialization of the structure can then be changed over to it, and we can remove the various "0" assignments in discard_index() in favor of calling index_state_init() at the end. While not strictly necessary, let's also change the CALLOC_ARRAY() of various "struct index_state *" to use an ALLOC_ARRAY() followed by index_state_init() instead. We're then adding the release_index() function and converting some callers (including some of these allocations) over to it if they either won't need to use their "struct index_state" again, or are just about to call index_state_init(). Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Acked-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'split-index.c')
-rw-r--r--split-index.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/split-index.c b/split-index.c
index 9d0ccc3..a5b56c0 100644
--- a/split-index.c
+++ b/split-index.c
@@ -90,7 +90,8 @@ void move_cache_to_base_index(struct index_state *istate)
mem_pool_combine(istate->ce_mem_pool, istate->split_index->base->ce_mem_pool);
}
- CALLOC_ARRAY(si->base, 1);
+ ALLOC_ARRAY(si->base, 1);
+ index_state_init(si->base);
si->base->version = istate->version;
/* zero timestamp disables racy test in ce_write_index() */
si->base->timestamp = istate->timestamp;