X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=lib%2Futils.c;h=c8de214f1e0e0aa0994878b10155810f71494314;hp=f42ee3ac204c9bbead6a52ca0672b52bce539917;hb=e9635ae38e0e2e3eb92568a1e234f8348856dd69;hpb=6a8c2e346e6125e58aab428e6730c18a949abe12 diff --git a/lib/utils.c b/lib/utils.c index f42ee3ac..c8de214f 100644 --- a/lib/utils.c +++ b/lib/utils.c @@ -17,6 +17,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ +#include +#include + #include "config.h" #include @@ -24,3 +27,29 @@ volatile int cp_line; volatile char *cp_file; +char *charbin2hex = "0123456789ABCDEF"; + +int charhex2bin(char c) +{ + if(isdigit(c)) + return c - '0'; + else + return tolower(c) - 'a' + 10; +} + +void hex2bin(char *src, char *dst, size_t length) +{ + size_t i; + for(i=0; i=0; i--) + { + dst[i*2+1] = charbin2hex[src[i] & 15]; + dst[i*2] = charbin2hex[src[i]>>4]; + } +}