On Sat, Mar 17, 2018 at 3:53 AM, Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> wrote: > diff --git a/cache.h b/cache.h > @@ -333,7 +333,7 @@ struct index_state { > -extern int test_lazy_init_name_hash(struct index_state *istate, int try_threaded); > +extern int lazy_init_name_hash_for_testing(struct index_state *istate, int try_threaded); I get why you renamed this since the "main" function in the test program wants to be called 'test_lazy_init_name_hash'... > diff --git a/t/helper/test-lazy-init-name-hash.c b/t/helper/test-lazy-init-name-hash.c > @@ -9,6 +10,9 @@ static int perf; > +static int (*init_name_hash)(struct index_state *istate, int try_threaded) = > + lazy_init_name_hash_for_testing; > + > @@ -33,9 +37,9 @@ static void dump_run(void) > if (single) { > - test_lazy_init_name_hash(&the_index, 0); > + init_name_hash(&the_index, 0); ... but I'm having trouble understanding why this indirection through 'init_name_hash' is used rather than just calling lazy_init_name_hash_for_testing() directly. Am I missing something obvious or is 'init_name_hash' just an unneeded artifact of an earlier iteration before the rename in cache.{c,h}?