From 0ec218656a02ea48e173262f7b80513feeb7f263 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Scharfe?= Date: Tue, 31 Oct 2017 14:46:49 +0100 Subject: notes: move hex_to_bytes() to hex.c and export it Make the function for converting pairs of hexadecimal digits to binary available to other call sites. Signed-off-by: Rene Scharfe Signed-off-by: Junio C Hamano --- hex.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'hex.c') diff --git a/hex.c b/hex.c index 28b44118cb..8df2d63728 100644 --- a/hex.c +++ b/hex.c @@ -35,6 +35,18 @@ const signed char hexval_table[256] = { -1, -1, -1, -1, -1, -1, -1, -1, /* f8-ff */ }; +int hex_to_bytes(unsigned char *binary, const char *hex, size_t len) +{ + for (; len; len--, hex += 2) { + unsigned int val = (hexval(hex[0]) << 4) | hexval(hex[1]); + + if (val & ~0xff) + return -1; + *binary++ = val; + } + return 0; +} + int get_sha1_hex(const char *hex, unsigned char *sha1) { int i; -- cgit v1.2.3