#include "std.h" #include "dat.h" static int unhex(char c) { if('0' <= c && c <= '9') return c-'0'; if('a' <= c && c <= 'f') return c-'a'+10; if('A' <= c && c <= 'F') return c-'A'+10; abort(); return -1; } int hexparse(char *hex, uchar *dat, int ndat) { int i, n; n = strlen(hex); if(n%2) return -1; n /= 2; if(n > ndat) return -1; if(hex[strspn(hex, "0123456789abcdefABCDEF")] != '\0') return -1; for(i=0; i