git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 01/17] cache: update object ID functions for the_hash_algo

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Jul 8, 2018, 23:36 UTC
Message-ID
<20180708233638.520172-2-sandals@crustytoothpaste.net>
In-Reply-To
<20180708233638.520172-1-sandals@crustytoothpaste.net>

Update the hashcpy and hashclr 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. Update oidcmp so that it is implemented on its own and similarly uses the_hash_algo.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 cache.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/cache.h b/cache.h
index d49092d94d..c4a64278a1 100644
--- a/cache.h
+++ b/cache.h
@@ -977,7 +977,7 @@ static inline int hashcmp(const unsigned char *sha1, const unsigned char *sha2)
 
 static inline int oidcmp(const struct object_id *oid1, const struct object_id *oid2)
 {
-	return hashcmp(oid1->hash, oid2->hash);
+	return memcmp(oid1->hash, oid2->hash, the_hash_algo->rawsz);
 }
 
 static inline int is_null_sha1(const unsigned char *sha1)
@@ -992,7 +992,7 @@ static inline int is_null_oid(const struct object_id *oid)
 
 static inline void hashcpy(unsigned char *sha_dst, const unsigned char *sha_src)
 {
-	memcpy(sha_dst, sha_src, GIT_SHA1_RAWSZ);
+	memcpy(sha_dst, sha_src, the_hash_algo->rawsz);
 }
 
 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)
 
 static inline void hashclr(unsigned char *hash)
 {
-	memset(hash, 0, GIT_SHA1_RAWSZ);
+	memset(hash, 0, the_hash_algo->rawsz);
 }
 
 static inline void oidclr(struct object_id *oid)
Previous: brian m. carlsonNext: Jacob Keller
Message 2 of 37 in “object_id part 14”
  1. 00/17 object_id part 14brian m. carlson, Jul 8, 2018
  2. 01/17 cache: update object ID functions for the_hash_algobrian m. carlson, Jul 8, 2018
  3. Jacob KellerJul 9, 2018
  4. Eric SunshineJul 9, 2018
  5. Jacob KellerJul 9, 2018
  6. brian m. carlsonJul 9, 2018
  7. 04/17 commit: express tree entry constants in terms of the_hash_algobrian m. carlson, Jul 8, 2018
  8. 06/17 sha1-name: use the_hash_algo when parsing object namesbrian m. carlson, Jul 8, 2018
  9. 05/17 strbuf: allocate space with GIT_MAX_HEXSZbrian m. carlson, Jul 8, 2018
  10. 10/17 builtin/update-index: simplify parsing of cacheinfobrian m. carlson, Jul 8, 2018
  11. 11/17 builtin/fmt-merge-msg: make hash independentbrian m. carlson, Jul 8, 2018
  12. 14/17 diff: switch GIT_SHA1_HEXSZ to use the_hash_algobrian m. carlson, Jul 8, 2018
  13. 13/17 builtin/merge-recursive: make hash independentbrian m. carlson, Jul 8, 2018
  14. 17/17 pretty: switch hard-coded constants to the_hash_algobrian m. carlson, Jul 8, 2018
  15. 15/17 log-tree: switch GIT_SHA1_HEXSZ to the_hash_algo->hexszbrian m. carlson, Jul 8, 2018
  16. 16/17 sha1-file: convert constants to uses of the_hash_algobrian m. carlson, Jul 8, 2018
  17. 12/17 builtin/merge: switch to use the_hash_algobrian m. carlson, Jul 8, 2018
  18. 09/17 builtin/update-index: convert to using the_hash_algobrian m. carlson, Jul 8, 2018
  19. 07/17 commit: increase commit message buffer sizebrian m. carlson, Jul 8, 2018
  20. Derrick StoleeJul 9, 2018
  21. Stefan BellerJul 9, 2018
  22. Brandon WilliamsJul 9, 2018
  23. Junio C HamanoJul 9, 2018
  24. Brandon WilliamsJul 9, 2018
  25. Junio C HamanoJul 9, 2018
  26. brian m. carlsonJul 9, 2018
  27. Junio C HamanoJul 10, 2018
  28. Ben PeartJul 10, 2018
  29. brian m. carlsonJul 11, 2018
  30. Junio C HamanoJul 11, 2018
  31. 08/17 refs/files-backend: use the_hash_algo for writing refsbrian m. carlson, Jul 8, 2018
  32. 02/17 tree-walk: replace hard-coded constants with the_hash_algobrian m. carlson, Jul 8, 2018
  33. 03/17 hex: switch to using the_hash_algobrian m. carlson, Jul 8, 2018
  34. Jacob KellerJul 9, 2018
  35. Derrick StoleeJul 9, 2018
  36. Michael HaggertyJul 14, 2018
  37. Junio C HamanoJul 16, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.