if (!isalnum((unsigned char)*cp) &&
if (!isalnum(UCH(*cp)) &&
PUBLIC BOOL valid_hostname ARGS1(	CONST char *,	name){    int i=1, iseg = 0;    CONST char *cp = name;    if (!(name && *name))	return NO;    for (; (*cp && i <= 253); cp++, i++) {	if (*cp == '.') {	    if (iseg == 0) {		return NO;	    } else {		iseg = 0;		continue;	    }	} else if (++iseg > 63) {		return NO;	}	if (!isalnum((unsigned char)*cp) &&	    *cp != '-' && *cp != '_' &&	    *cp != '$' && *cp != '+') {	    return NO;	}    }    return (*cp == '\0' || (*cp == '.' && iseg != 0 && cp[1] == '\0'));}