Signed-off-by: Sabrina Dubroca <s...@queasysnail.net> Acked-by: Phil Sutter <p...@nwl.cc> --- include/utils.h | 4 ++-- lib/utils.c | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/include/utils.h b/include/utils.h index ef81d00f3d70..aef28ce732ab 100644 --- a/include/utils.h +++ b/include/utils.h @@ -114,8 +114,8 @@ int get_u8(__u8 *val, const char *arg, int base); int get_s8(__s8 *val, const char *arg, int base); int get_addr64(__u64 *ap, const char *cp); -char* hexstring_n2a(const __u8 *str, int len, char *buf, int blen); -__u8* hexstring_a2n(const char *str, __u8 *buf, int blen); +char *hexstring_n2a(const __u8 *str, int len, char *buf, int blen); +__u8 *hexstring_a2n(const char *str, __u8 *buf, int blen, unsigned int *len); #define ADDR64_BUF_SIZE sizeof("xxxx:xxxx:xxxx:xxxx") int addr64_n2a(__u64 addr, char *buff, size_t len); diff --git a/lib/utils.c b/lib/utils.c index b93b1dc84315..bd10c0d71718 100644 --- a/lib/utils.c +++ b/lib/utils.c @@ -866,9 +866,9 @@ char *hexstring_n2a(const __u8 *str, int len, char *buf, int blen) return buf; } -__u8* hexstring_a2n(const char *str, __u8 *buf, int blen) +__u8 *hexstring_a2n(const char *str, __u8 *buf, int blen, unsigned int *len) { - int cnt = 0; + unsigned int cnt = 0; char *endptr; if (strlen(str) % 2) @@ -885,6 +885,10 @@ __u8* hexstring_a2n(const char *str, __u8 *buf, int blen) buf[cnt++] = tmp; str += 2; } + + if (len) + *len = cnt; + return buf; } -- 2.8.2