Skip to content

Commit

Permalink
hex.c: reduce memory footprint of sha1_to_hex static buffers
Browse files Browse the repository at this point in the history
41 bytes is the exact number of bytes needed for having the returned
hex string represented. 50 seems to be an arbitrary number, such
that there are no benefits from alignment to certain address boundaries.

Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Stefan Beller authored and Junio C Hamano committed Feb 13, 2015
1 parent a503121 commit 0b868f0
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion hex.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ int get_sha1_hex(const char *hex, unsigned char *sha1)
char *sha1_to_hex(const unsigned char *sha1)
{
static int bufno;
static char hexbuffer[4][50];
static char hexbuffer[4][41];
static const char hex[] = "0123456789abcdef";
char *buffer = hexbuffer[3 & ++bufno], *buf = buffer;
int i;
Expand Down

0 comments on commit 0b868f0

Please sign in to comment.