if ((unsigned char)*cp >= 127 || !isprint((unsigned char)*cp)) {
if (UCH(*cp) >= 127 || !isprint(UCH(*cp))) {
PUBLIC BOOLEAN LYCommentHacks ARGS2(	HTParentAnchor *,	anchor,	CONST char *,		comment){    CONST char *cp = comment;    size_t len;    if (comment == NULL)	return FALSE;    if (!(anchor && anchor->address))	return FALSE;    if (strncmp(comment, "!--X-Message-Id: ", 17) == 0) {	char *messageid = NULL;	char *p;	for (cp = comment+17; *cp; cp++) {	    if ((unsigned char)*cp >= 127 || !isgraph((unsigned char)*cp)) {		break;	    }	}	if (strcmp(cp, " --")) {	    return FALSE;	}	cp = comment + 17;	StrAllocCopy(messageid, cp);	/* This should be ok - message-id should only contain 7-bit ASCII */	if (!LYUCFullyTranslateString(&messageid, 0, 0, NO, NO, YES, st_URL))	    return FALSE;	for (p = messageid; *p; p++) {	    if ((unsigned char)*p >= 127 || !isgraph((unsigned char)*p)) {		break;	    }	}	if (strcmp(p, " --")) {	    FREE(messageid);	    return FALSE;	}	if ((p = strchr(messageid, '@')) == NULL || p[1] == '\0') {	    FREE(messageid);	    return FALSE;	}	p = messageid;	if ((len = strlen(p)) >= 8 && !strcmp(&p[len-3], " --")) {	    p[len-3] = '\0';	} else {	    FREE(messageid);	    return FALSE;	}	if (HTAnchor_setMessageID(anchor, messageid)) {	    FREE(messageid);	    return TRUE;	} else {	    FREE(messageid);	    return FALSE;	}    }    if (strncmp(comment, "!--X-Subject: ", 14) == 0) {	char *subject = NULL;	char *p;	for (cp = comment+14; *cp; cp++) {	    if ((unsigned char)*cp >= 127 || !isprint((unsigned char)*cp)) {		return FALSE;	    }	}	cp = comment + 14;	StrAllocCopy(subject, cp);	/* @@@	 * This may not be the right thing for the subject - but mail	 * subjects shouldn't contain 8-bit characters in raw form anyway.	 * We have to unescape character entities, since that's what MHonArc	 * seems to generate.  But if after that there are 8-bit characters	 * the string is rejected.  We would probably not know correctly	 * what charset to assume anyway - the mail sender's can differ from	 * the archive's.  And the code for sending mail cannot deal well	 * with 8-bit characters - we should not put them in the Subject	 * header in raw form, but don't have MIME encoding implemented.	 * Someone may want to do more about this...  - kw	 */	if (!LYUCFullyTranslateString(&subject, 0, 0, NO, YES, NO, st_HTML))	    return FALSE;	for (p = subject; *p; p++) {	    if ((unsigned char)*p >= 127 || !isprint((unsigned char)*p)) {		FREE(subject);		return FALSE;	    }	}	p = subject;	if ((len = strlen(p)) >= 4 && !strcmp(&p[len-3], " --")) {	    p[len-3] = '\0';	} else {	    FREE(subject);	    return FALSE;	}	if (HTAnchor_setSubject(anchor, subject)) {	    FREE(subject);	    return TRUE;	} else {	    FREE(subject);	    return FALSE;	}    }    return FALSE;}