patch-id: use oid_to_hex() to print multiple object IDs
diff mbox series

Message ID bebcac17-f560-bb73-9aee-72f944df7d95@web.de
State New
Headers show
Series
  • patch-id: use oid_to_hex() to print multiple object IDs
Related show

Commit Message

René Scharfe Dec. 7, 2019, 7:16 p.m. UTC
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(-)

--
2.24.0

Comments

brian m. carlson Dec. 9, 2019, 2:06 a.m. UTC | #1
On 2019-12-07 at 19:16:51, René Scharfe wrote:
> 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)

This seems like a nice cleanup to me.  Thanks for sending the patch.

Patch
diff mbox series

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)