From: René Scharfe Date: Sun, 1 Nov 2020 08:52:12 +0000 (+0100) Subject: pack-write: use hashwrite_be32() instead of double-buffering array X-Git-Tag: v2.30.0-rc0~99^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=06d43fad18a2bb85b1a224b07c4cc572c7e41f7e;p=thirdparty%2Fgit.git 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 Signed-off-by: Junio C Hamano --- diff --git a/pack-write.c b/pack-write.c index a6cdb3c67c..23e19cc1ec 100644 --- a/pack-write.c +++ b/pack-write.c @@ -48,7 +48,6 @@ const char *write_idx_file(const char *index_name, struct pack_idx_entry **objec struct hashfile *f; struct pack_idx_entry **sorted_by_sha, **list, **last; off_t last_obj_offset = 0; - uint32_t array[256]; int i, fd; uint32_t index_version; @@ -106,10 +105,9 @@ const char *write_idx_file(const char *index_name, struct pack_idx_entry **objec break; next++; } - array[i] = htonl(next - sorted_by_sha); + hashwrite_be32(f, next - sorted_by_sha); list = next; } - hashwrite(f, array, 256 * 4); /* * Write the actual SHA1 entries..