From acf3cdcf80da7c3443e202a02d4b626c13e9e8dd Mon Sep 17 00:00:00 2001 From: default Date: Fri, 17 Nov 2023 03:51:04 +0100 Subject: Backport from xs. --- xs.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'xs.h') diff --git a/xs.h b/xs.h index 7b85dcb..c0857bc 100644 --- a/xs.h +++ b/xs.h @@ -1180,6 +1180,8 @@ void *xs_memmem(const char *haystack, int h_size, const char *needle, int n_size /** hex **/ +static char xs_hex_digits[] = "0123456789abcdef"; + xs_str *xs_hex_enc(const xs_val *data, int size) /* returns an hexdump of data */ { @@ -1190,8 +1192,9 @@ xs_str *xs_hex_enc(const xs_val *data, int size) p = s = xs_realloc(NULL, _xs_blk_size(size * 2 + 1)); for (n = 0; n < size; n++) { - snprintf(p, 3, "%02x", (unsigned char)data[n]); - p += 2; + *p++ = xs_hex_digits[*data >> 4 & 0xf]; + *p++ = xs_hex_digits[*data & 0xf]; + data++; } *p = '\0'; -- cgit