static void hex2bin(unsigned char *to, const char *p, size_t len) { register char c1, c2; for (; *p; to++) { c1 = *p++; c2 = *p++; if (!c1 || !isxdigit(c1)) return; else if (!c2 || !isxdigit(c2)) *to = (unsigned char) digittoint(c1); else *to = (unsigned char) (digittoint(c1) << 4) | digittoint(c2); } }