Browse Source

index-pack: abstract away hash function constant

The code for reading certain pack v2 offsets had a hard-coded 5
representing the number of uint32_t words that we needed to skip over.
Specify this value in terms of a value from the_hash_algo.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
brian m. carlson 7 years ago committed by Junio C Hamano
parent
commit
5d9e198245
  1. 3
      builtin/index-pack.c

3
builtin/index-pack.c

@ -1543,12 +1543,13 @@ static void read_v2_anomalous_offsets(struct packed_git *p, @@ -1543,12 +1543,13 @@ static void read_v2_anomalous_offsets(struct packed_git *p,
{
const uint32_t *idx1, *idx2;
uint32_t i;
const uint32_t hashwords = the_hash_algo->rawsz / sizeof(uint32_t);

/* The address of the 4-byte offset table */
idx1 = (((const uint32_t *)p->index_data)
+ 2 /* 8-byte header */
+ 256 /* fan out */
+ 5 * p->num_objects /* 20-byte SHA-1 table */
+ hashwords * p->num_objects /* object ID table */
+ p->num_objects /* CRC32 table */
);


Loading…
Cancel
Save