Index: res/res_config_odbc.c =================================================================== --- res/res_config_odbc.c (revision 294427) +++ res/res_config_odbc.c (working copy) @@ -67,7 +67,7 @@ static void decode_chunk(char *chunk) { for (; *chunk; chunk++) { - if (*chunk == '^' && strchr("0123456789ABCDEFabcdef", chunk[1]) && strchr("0123456789ABCDEFabcdef", chunk[2])) { + if (*chunk == '^' && strchr("0123456789ABCDEF", chunk[1]) && strchr("0123456789ABCDEF", chunk[2])) { sscanf(chunk + 1, "%02hhX", chunk); memmove(chunk + 1, chunk + 3, strlen(chunk + 3) + 1); } @@ -108,9 +108,8 @@ /* We use ^XX, instead of %XX because '%' is a special character in SQL */ snprintf(eptr, encodebuf + sizeof(encodebuf) - eptr, "^%02hhX", *vptr); eptr += 3; - vptr++; } else { - *eptr++ = *vptr++; + *eptr++ = *vptr; } } if (eptr < encodebuf + sizeof(encodebuf)) {