Patrick Steinhardt <ps@xxxxxx> writes: > memset(o, 0, sizeof(*o)); > o->repo = repo; > + o->packfiles = packfile_store_new(o); Shouldn't this be called o->packfile_store? It is not like a packfile_store is merely an array of packfile struct, is it? > @@ -128,6 +129,7 @@ struct object_database { > * > * should only be accessed directly by packfile.c > */ > + struct packfile_store *packfiles; So odb has a pointer to packfile_store, which in turn has a pointer to a(nother) odb? Hmph. It is unclear what this step has achieved (in other words, there is no obvious thing that the information stored in the new structure is used to achieve at this step). Let me read on. Thanks.