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

[PATCH] patch-id: use oid_to_hex() to print multiple object IDs

From
René Scharfe <l.s.r@web.de>
Date
Dec 7, 2019, 19:16 UTC
Message-ID
<bebcac17-f560-bb73-9aee-72f944df7d95@web.de>

flush_current_id() prints the hexadecimal representation of two object IDs. When the code was added in f97672225b (Add "git-patch-id" program to generate patch ID's., 2005-06-23), sha1_to_hex() had only a single internal static buffer, so the result of one invocation had to be stored in a local buffer.

Since dcb3450fd8 (sha1_to_hex() usage cleanup, 2006-05-03) it rotates through four buffers, which allows to print up to four object IDs at the same time. 1a876a69af6 (patch-id: convert to use struct object_id, 2015-03-13) replaced sha1_to_hex() with oid_to_hex(), which has the same feature. Use it to simplify the code.

Signed-off-by: René Scharfe <l.s.r@web.de>
---
 builtin/patch-id.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/builtin/patch-id.c b/builtin/patch-id.c
index 3059e525b8..822ffff51f 100644
--- a/builtin/patch-id.c
+++ b/builtin/patch-id.c
@@ -5,13 +5,8 @@

 static void flush_current_id(int patchlen, struct object_id *id, struct object_id *result)
 {
-	char name[GIT_MAX_HEXSZ + 1];
-
-	if (!patchlen)
-		return;
-
-	memcpy(name, oid_to_hex(id), the_hash_algo->hexsz + 1);
-	printf("%s %s\n", oid_to_hex(result), name);
+	if (patchlen)
+		printf("%s %s\n", oid_to_hex(result), oid_to_hex(id));
 }

 static int remove_space(char *line)
--
2.24.0
Next: brian m. carlson
Message 1 of 2 in “patch-id: use oid_to_hex() to print multiple object IDs”
  1. patch-id: use oid_to_hex() to print multiple object IDsRené Scharfe, Dec 7, 2019
  2. brian m. carlsonDec 9, 2019

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.