summaryrefslogtreecommitdiff
path: root/ref-filter.h
diff options
context:
space:
mode:
authorbrian m. carlson <sandals@crustytoothpaste.net>2017-05-06 22:10:20 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-05-08 06:12:57 (GMT)
commit9fd750461befcaf984d5966606308c8cd6912f3c (patch)
tree4606d7cc55a1971de69a7436150ddacd93157e04 /ref-filter.h
parentd3101b533d365825f52d8e5e52328702acbc8e3a (diff)
downloadgit-9fd750461befcaf984d5966606308c8cd6912f3c.zip
git-9fd750461befcaf984d5966606308c8cd6912f3c.tar.gz
git-9fd750461befcaf984d5966606308c8cd6912f3c.tar.bz2
Convert the verify_pack callback to struct object_id
Make the verify_pack_callback take a pointer to struct object_id. Change the pack checksum to use GIT_MAX_RAWSZ, even though it is not strictly an object ID. Doing so ensures resilience against future hash size changes, and allows us to remove hard-coded assumptions about how big the buffer needs to be. Also, use a union to convert the pointer from nth_packed_object_sha1 to to a pointer to struct object_id. This behavior is compatible with GCC and clang and explicitly sanctioned by C11. The alternatives are to just perform a cast, which would run afoul of strict aliasing rules, but should just work, and changing the pointer into an instance of struct object_id and copying the value. The latter operation could seriously bloat memory usage on fsck, which already uses a lot of memory on some repositories. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'ref-filter.h')
0 files changed, 0 insertions, 0 deletions