CONST char * u = unknown; CONST char * t = template; for (; *u && *t && (TOUPPER(*u) == *t); u++, t++) ;  return (BOOL)(*t == 0);
char href[LINE_LENGTH+1]; CONST char * p; char *q;  for (p = addr; *p && (*p != '>') && !WHITE(*p) && (*p!=','); p++) ; if (strlen(NewsHREF) + (p - addr) + 1 < sizeof(href)) { q = href; strcpy(q, NewsHREF); strncat(q, addr, p-addr);	 } else { q = NULL; HTSprintf0(&q, "%s%.*s", NewsHREF, p-addr, addr); }  start_anchor(q); PUTS(text); END(HTML_A);  if (q != href) FREE(q);
PRIVATE BOOL match ARGS2 (CONST char *,unknown, CONST char *,template){    CONST char * u = unknown;    CONST char * t = template;    for (; *u && *t && (TOUPPER(*u) == *t); u++, t++)	; /* Find mismatch or end */    return (BOOL)(*t == 0);		/* OK if end of template */}