From 7cdb424fa73406be2f858ea3de3a756f7fbb0d8f Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Mon, 4 May 2015 05:43:40 +0000 Subject: [PATCH] New functions scan_hex ... FossilOrigin-Name: 9e672fa96f74307bac2cb2e3797697dddca25bb98e3c26d2c560e4a168c620af --- src/capwap/format.c | 51 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/src/capwap/format.c b/src/capwap/format.c index 01820335..c784d7e8 100644 --- a/src/capwap/format.c +++ b/src/capwap/format.c @@ -15,6 +15,8 @@ along with Foobar. If not, see . */ + + /** * @file * @brief Implementation of various format functions. @@ -57,5 +59,54 @@ int cw_format_hex_bytes(char *dst, const char *format, const char *delim, +/** + * Read hex bytes from a string to an uint8_t array + * @param dst destination array + * @param s string to read + * @param len length of string + * @return 0 if all was ok \n 1 if an error has occured. + */ + +int cw_format_scan_hex_bytes(uint8_t *dst,const char *s, int len) +{ + int rc ; + int err=0; + int val; + int c; + int i; + + if ( len & 1){ + rc = sscanf(s,"%01X",&c); + if (rc!=1){ + c=0; + err=1; + } + *dst++=c; + s++; + len--; + } + + + for (i=0; i