isxdigit((unsigned char)p[1]) && isxdigit((unsigned char)p[2]) && (testcode = FROMASCII(from_hex(p[1])*16 + from_hex(p[2]))) &&
isxdigit(UCH(p[1])) && isxdigit(UCH(p[2])) && (testcode = (char) FROMASCII(from_hex(p[1])*16 + from_hex(p[2]))) &&
PUBLIC char * HTUnEscapeSome ARGS2(	char *, 	str,	CONST char *,	do_trans){    char * p = str;    char * q = str;    char testcode;    if (p == NULL || *p == '\0' || do_trans == NULL || *do_trans == '\0')	return str;    while (*p != '\0') {	if (*p == HEX_ESCAPE &&	    p[1] && p[2] &&	/* tests shouldn't be needed, but.. */	    isxdigit((unsigned char)p[1]) &&	    isxdigit((unsigned char)p[2]) &&	    (testcode = FROMASCII(from_hex(p[1])*16 + from_hex(p[2]))) && /* %00 no good*/	    strchr(do_trans, testcode)) { /* it's one of the ones we want */	    *q++ = testcode;	    p += 3;	} else {	    *q++ = *p++;	}    }    *q++ = '\0';    return str;} /* HTUnEscapeSome */