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

[PATCH 03/17] hex: switch to using the_hash_algo

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

Instead of using the GIT_SHA1_* constants, switch to using the_hash_algo to convert object IDs to and from hex format.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
---
 hex.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hex.c b/hex.c
index 8df2d63728..10af1a29e8 100644
--- a/hex.c
+++ b/hex.c
@@ -50,7 +50,7 @@ int hex_to_bytes(unsigned char *binary, const char *hex, size_t len)
 int get_sha1_hex(const char *hex, unsigned char *sha1)
 {
 	int i;
-	for (i = 0; i < GIT_SHA1_RAWSZ; i++) {
+	for (i = 0; i < the_hash_algo->rawsz; i++) {
 		int val = hex2chr(hex);
 		if (val < 0)
 			return -1;
@@ -69,7 +69,7 @@ int parse_oid_hex(const char *hex, struct object_id *oid, const char **end)
 {
 	int ret = get_oid_hex(hex, oid);
 	if (!ret)
-		*end = hex + GIT_SHA1_HEXSZ;
+		*end = hex + the_hash_algo->hexsz;
 	return ret;
 }
 
@@ -79,7 +79,7 @@ char *sha1_to_hex_r(char *buffer, const unsigned char *sha1)
 	char *buf = buffer;
 	int i;
 
-	for (i = 0; i < GIT_SHA1_RAWSZ; i++) {
+	for (i = 0; i < the_hash_algo->rawsz; i++) {
 		unsigned int val = *sha1++;
 		*buf++ = hex[val >> 4];
 		*buf++ = hex[val & 0xf];
Previous: brian m. carlsonNext: Jacob Keller
Message 33 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.