{"thread":{"id":"14109","subject":"[PATCH 1/3] call init_pack_revindex() lazily","startedAt":"2008-06-24T01:22:14Z","lastAt":"2008-06-24T01:22:14Z","messageCount":1,"participants":["Nicolas Pitre"],"isPatch":true,"patchVersion":1,"patchTotal":3},"messages":[{"id":"80797","messageId":"alpine.LFD.1.10.0806232121060.2979@xanadu.home","threadId":"14109","inReplyTo":null,"subject":"[PATCH 1/3] call init_pack_revindex() lazily","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2008-06-24T01:22:14Z","receivedAt":"2008-06-24T01:22:14Z","isPatch":true,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"This makes life much easier for next patch, as well as being more efficient\nwhen the revindex is actually not used.\n\nSigned-off-by: Nicolas Pitre <nico@cam.org>\n---\n builtin-pack-objects.c |    2 --\n pack-check.c           |    1 -\n pack-revindex.c        |    6 ++++--\n pack-revindex.h        |    1 -\n 4 files changed, 4 insertions(+), 6 deletions(-)\n\ndiff --git a/builtin-pack-objects.c b/builtin-pack-objects.c\nindex 447d492..827673c 100644\n--- a/builtin-pack-objects.c\n+++ b/builtin-pack-objects.c\n@@ -1148,8 +1148,6 @@ static void get_object_details(void)\n \t\tsorted_by_offset[i] = objects + i;\n \tqsort(sorted_by_offset, nr_objects, sizeof(*sorted_by_offset), pack_offset_sort);\n \n-\tinit_pack_revindex();\n-\n \tfor (i = 0; i < nr_objects; i++)\n \t\tcheck_object(sorted_by_offset[i]);\n \ndiff --git a/pack-check.c b/pack-check.c\nindex f489873..b99a917 100644\n--- a/pack-check.c\n+++ b/pack-check.c\n@@ -107,7 +107,6 @@ static void show_pack_info(struct packed_git *p)\n \n \tnr_objects = p->num_objects;\n \tmemset(chain_histogram, 0, sizeof(chain_histogram));\n-\tinit_pack_revindex();\n \n \tfor (i = 0; i < nr_objects; i++) {\n \t\tconst unsigned char *sha1;\ndiff --git a/pack-revindex.c b/pack-revindex.c\nindex a8aa2cd..cd300bd 100644\n--- a/pack-revindex.c\n+++ b/pack-revindex.c\n@@ -40,7 +40,7 @@ static int pack_revindex_ix(struct packed_git *p)\n \treturn -1 - i;\n }\n \n-void init_pack_revindex(void)\n+static void init_pack_revindex(void)\n {\n \tint num;\n \tstruct packed_git *p;\n@@ -118,9 +118,11 @@ struct revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs)\n \tstruct pack_revindex *rix;\n \tstruct revindex_entry *revindex;\n \n+\tif (!pack_revindex_hashsz)\n+\t\tinit_pack_revindex();\n \tnum = pack_revindex_ix(p);\n \tif (num < 0)\n-\t\tdie(\"internal error: pack revindex uninitialized\");\n+\t\tdie(\"internal error: pack revindex fubar\");\n \n \trix = &pack_revindex[num];\n \tif (!rix->revindex)\ndiff --git a/pack-revindex.h b/pack-revindex.h\nindex c3527a7..36a514a 100644\n--- a/pack-revindex.h\n+++ b/pack-revindex.h\n@@ -6,7 +6,6 @@ struct revindex_entry {\n \tunsigned int nr;\n };\n \n-void init_pack_revindex(void);\n struct revindex_entry *find_pack_revindex(struct packed_git *p, off_t ofs);\n \n #endif\n-- \n1.5.6.GIT\n"}]}