cache: update object ID functions for the_hash_algo

Most of our code has been converted to use struct object_id for object IDs. However, there are some places that still have not, and there are a variety of places that compare equivalently sized hashes that are not object IDs. All of these hashes are artifacts of the internal hash algorithm in use, and when we switch to NewHash for object storage, all of these uses will also switch. Update the hashcpy, hashclr, and hashcmp functions to use the_hash_algo, since they are used in a variety of places to copy and manipulate buffers that need to move data into or out of struct object_id. This has the effect of making the corresponding oid* functions use the_hash_algo as well. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

brian m. carlson committed Jul 16, 2018 at 01:27 UTC 509f6f62a4b0dfd1c06dc2120ad06b9d50a1b64a
1 file changed +3 -3
cache.h
+3 -3
@@ -972,7 +972,7 @@ extern const struct object_id null_oid;
972
973 static inline int hashcmp(const unsigned char *sha1, const unsigned char *sha2)
974 {
975 - return memcmp(sha1, sha2, GIT_SHA1_RAWSZ);
975 + return memcmp(sha1, sha2, the_hash_algo->rawsz);
976 }
977
978 static inline int oidcmp(const struct object_id *oid1, const struct object_id *oid2)
@@ -992,7 +992,7 @@ static inline int is_null_oid(const struct object_id *oid)
992
993 static inline void hashcpy(unsigned char *sha_dst, const unsigned char *sha_src)
994 {
995 - memcpy(sha_dst, sha_src, GIT_SHA1_RAWSZ);
995 + memcpy(sha_dst, sha_src, the_hash_algo->rawsz);
996 }
997
998 static inline void oidcpy(struct object_id *dst, const struct object_id *src)
@@ -1009,7 +1009,7 @@ static inline struct object_id *oiddup(const struct object_id *src)
1009
1010 static inline void hashclr(unsigned char *hash)
1011 {
1012 - memset(hash, 0, GIT_SHA1_RAWSZ);
1012 + memset(hash, 0, the_hash_algo->rawsz);
1013 }
1014
1015 static inline void oidclr(struct object_id *oid)