pack-write: use hashwrite_be32() instead of double-buffering array
hashwrite() already buffers writes, so pass the fanout table entries individually via hashwrite_be32(), which also does the endianess conversion for us. This avoids a memory copy, shortens the code and reduces the number of magic numbers. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
898f80736c
commit
06d43fad18
|
@ -48,7 +48,6 @@ const char *write_idx_file(const char *index_name, struct pack_idx_entry **objec
|
||||||
struct hashfile *f;
|
struct hashfile *f;
|
||||||
struct pack_idx_entry **sorted_by_sha, **list, **last;
|
struct pack_idx_entry **sorted_by_sha, **list, **last;
|
||||||
off_t last_obj_offset = 0;
|
off_t last_obj_offset = 0;
|
||||||
uint32_t array[256];
|
|
||||||
int i, fd;
|
int i, fd;
|
||||||
uint32_t index_version;
|
uint32_t index_version;
|
||||||
|
|
||||||
|
@ -106,10 +105,9 @@ const char *write_idx_file(const char *index_name, struct pack_idx_entry **objec
|
||||||
break;
|
break;
|
||||||
next++;
|
next++;
|
||||||
}
|
}
|
||||||
array[i] = htonl(next - sorted_by_sha);
|
hashwrite_be32(f, next - sorted_by_sha);
|
||||||
list = next;
|
list = next;
|
||||||
}
|
}
|
||||||
hashwrite(f, array, 256 * 4);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Write the actual SHA1 entries..
|
* Write the actual SHA1 entries..
|
||||||
|
|
Loading…
Reference in New Issue