提交 1f5c74f6 编写于 作者: N Nicolas Pitre 提交者: Junio C Hamano

call init_pack_revindex() lazily

This makes life much easier for next patch, as well as being more efficient
when the revindex is actually not used.
Signed-off-by: NNicolas Pitre <nico@cam.org>
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 6b516d98
......@@ -1148,8 +1148,6 @@ static void get_object_details(void)
sorted_by_offset[i] = objects + i;
qsort(sorted_by_offset, nr_objects, sizeof(*sorted_by_offset), pack_offset_sort);
init_pack_revindex();
for (i = 0; i < nr_objects; i++)
check_object(sorted_by_offset[i]);
......
......@@ -107,7 +107,6 @@ static void show_pack_info(struct packed_git *p)
nr_objects = p->num_objects;
memset(chain_histogram, 0, sizeof(chain_histogram));
init_pack_revindex();
for (i = 0; i < nr_objects; i++) {
const unsigned char *sha1;
......
......@@ -40,7 +40,7 @@ static int pack_revindex_ix(struct packed_git *p)
return -1 - i;
}
void init_pack_revindex(void)
static void init_pack_revindex(void)
{
int num;
struct packed_git *p;
......@@ -118,9 +118,11 @@ struct revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs)
struct pack_revindex *rix;
struct revindex_entry *revindex;
if (!pack_revindex_hashsz)
init_pack_revindex();
num = pack_revindex_ix(p);
if (num < 0)
die("internal error: pack revindex uninitialized");
die("internal error: pack revindex fubar");
rix = &pack_revindex[num];
if (!rix->revindex)
......
......@@ -6,7 +6,6 @@ struct revindex_entry {
unsigned int nr;
};
void init_pack_revindex(void);
struct revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs);
#endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册