C99 extravaganza.
[tinc] / src / utils.c
index e750450..332df1f 100644 (file)
@@ -48,14 +48,13 @@ static int charb64decode(char c) {
 
 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];
        }