int hex2bin(const char *src, char *dst, int length) {
int i;
- for(i = 0; i < length && src[i * 2] && src[i * 2 + 1]; i++)
+ for(i = 0; i < length && isxdigit(src[i * 2]) && isxdigit(src[i * 2 + 1]); i++)
dst[i] = charhex2bin(src[i * 2]) * 16 + charhex2bin(src[i * 2 + 1]);
return i;
}
int bin2hex(const char *src, char *dst, int length) {
- int i;
- for(i = length - 1; i >= 0; i--) {
+ for(int i = length - 1; i >= 0; i--) {
dst[i * 2 + 1] = hexadecimals[(unsigned char) src[i] & 15];
dst[i * 2] = hexadecimals[(unsigned char) src[i] >> 4];
}