+2006-03-08 Josh Bressers <josh@bress.net>
+
+ * (mh_strcasecmp): Rename the private strcasecmp function to
+ mh_strcasecmp. This keeps the newer gnu linker happy.
+
2006-03-05 Oliver Kiddle <okiddle@yahoo.co.uk>
* sbr/fmt_rfc2047.c: don't try to malloc 0 bytes if an RFC2047
int vsnprintf (char *, size_t, const char *, va_list);
#endif
-int strcasecmp (const char *s1, const char *s2);
+int mh_strcasecmp (const char *s1, const char *s2);
int strncasecmp (const char *s1, const char *s2, size_t n);
*q = '\0';
q = site;
- if (!strcasecmp (LocalName(), site))
+ if (!mh_strcasecmp (LocalName(), site))
return LocalName();
#ifdef HAVE_SETHOSTENT
}
if (hosts.h_name || init_hs ()) {
for (h = hosts.h_next; h; h = h->h_next)
- if (!strcasecmp (h->h_name, q)) {
+ if (!mh_strcasecmp (h->h_name, q)) {
return h->h_name;
} else {
for (r = h->h_aliases; *r; r++)
- if (!strcasecmp (*r, q))
+ if (!mh_strcasecmp (*r, q))
return h->h_name;
}
}
}
if (wanthost == AD_NHST)
- mp->m_type = !strcasecmp (LocalName (), mp->m_host)
+ mp->m_type = !mh_strcasecmp (LocalName (), mp->m_host)
? LOCALHOST : NETHOST;
#ifdef DUMB
else
- mp->m_type = strcasecmp (LocalName(), mp->m_host) ? NETHOST : LOCALHOST;
+ mp->m_type = mh_strcasecmp (LocalName(), mp->m_host) ? NETHOST : LOCALHOST;
#else /* not DUMB */
else
if (pp = OfficialName (mp->m_host)) {
got_real_host: ;
free (mp->m_host);
mp->m_host = getcpy (pp);
- mp->m_type = strcasecmp (LocalName(), mp->m_host) ? NETHOST : LOCALHOST;
+ mp->m_type = mh_strcasecmp (LocalName(), mp->m_host) ? NETHOST : LOCALHOST;
}
else {
if (dp = strchr(mp->m_host, '.')) {
goto local_test;
case UUCPHOST:
- if (strcasecmp (np->m_host, SystemName()))
+ if (mh_strcasecmp (np->m_host, SystemName()))
break; /* fall */
case LOCALHOST:
local_test: ;
- if (!strcasecmp (np->m_mbox, mq.m_mbox))
+ if (!mh_strcasecmp (np->m_mbox, mq.m_mbox))
return 1;
break;
continue;
switch (mp->m_type & W_MBOX) {
case W_NIL:
- if (strcasecmp (cp, pp))
+ if (mh_strcasecmp (cp, pp))
continue;
break;
case W_MBEG:
- if (strcasecmp (cp + len - i, pp))
+ if (mh_strcasecmp (cp + len - i, pp))
continue;
break;
case W_MEND:
continue;
switch (mp->m_type & W_HOST) {
case W_NIL:
- if (strcasecmp (cp, pp))
+ if (mh_strcasecmp (cp, pp))
continue;
break;
case W_HBEG:
- if (strcasecmp (cp + len - i, pp))
+ if (mh_strcasecmp (cp + len - i, pp))
continue;
break;
case W_HEND:
/* US-ASCII is a subset of the ISO-8859-X and UTF-8 character sets */
if (!strncasecmp("ISO-8859-", mm_charset, 9) ||
- !strcasecmp("UTF-8", mm_charset)) {
+ !mh_strcasecmp("UTF-8", mm_charset)) {
alt_charset = "US-ASCII";
alt_len = strlen (alt_charset);
}
register struct node *np, *pp;
for (np = m_defs, pp = NULL; np; pp = np, np = np->n_next) {
- if (!strcasecmp (np->n_name, key)) {
+ if (!mh_strcasecmp (np->n_name, key)) {
if (!np->n_context)
admonish (NULL, "bug: context_del(key=\"%s\")", np->n_name);
if (pp)
struct node *np;
for (np = m_defs; np; np = np->n_next)
- if (!strcasecmp (np->n_name, str))
+ if (!mh_strcasecmp (np->n_name, str))
return (np->n_field);
return NULL;
* this key, and replace its value if found.
*/
for (np = m_defs;; np = np->n_next) {
- if (!strcasecmp (np->n_name, key)) {
+ if (!mh_strcasecmp (np->n_name, key)) {
if (strcmp (value, np->n_field)) {
if (!np->n_context)
admonish (NULL, "bug: context_replace(key=\"%s\",value=\"%s\")", key, value);
/* .. it can't. We'll use iconv then. */
*pp = '\0';
cd = iconv_open(get_charset(), startofmime);
- fromutf8 = !strcasecmp(startofmime, "UTF-8");
+ fromutf8 = !mh_strcasecmp(startofmime, "UTF-8");
*pp = '?';
if (cd == (iconv_t)-1) continue;
use_iconv = 1;
/*
* Allow match either for user's host name.
*/
- if (strcasecmp(host, tokval) == 0)
+ if (mh_strcasecmp(host, tokval) == 0)
goto match;
continue;
}
*/
int
-strcasecmp (const char *s1, const char *s2)
+mh_strcasecmp (const char *s1, const char *s2)
{
const unsigned char *us1, *us2;
int
-strncasecmp (const char *s1, const char *s2, size_t n)
+mh_strncasecmp (const char *s1, const char *s2, size_t n)
{
const unsigned char *us1, *us2;
while ((cp = getname (pp))) {
if ((np = getm (cp, NULL, 0, norm, NULL)) == NULL)
continue;
- if (!strcasecmp (mp->m_host, np->m_host)
- && !strcasecmp (mp->m_mbox, np->m_mbox)) {
+ if (!mh_strcasecmp (mp->m_host, np->m_host)
+ && !mh_strcasecmp (mp->m_mbox, np->m_mbox)) {
vp = vp ? add (ak->ak_name, add (",", vp))
: getcpy (ak->ak_name);
mnfree (np);
#endif /* DBMPWD */
for (hp = homehead; hp; hp = hp->h_next)
- if (!strcasecmp (name, hp->h_name))
+ if (!mh_strcasecmp (name, hp->h_name))
return hp;
#ifdef DBMPWD
compnum++;
/* abort if draft has Mime-Version header field */
- if (!strcasecmp (name, VRSN_FIELD))
+ if (!mh_strcasecmp (name, VRSN_FIELD))
adios (NULL, "draft shouldn't contain %s: field", VRSN_FIELD);
/* abort if draft has Content-Transfer-Encoding header field */
- if (!strcasecmp (name, ENCODING_FIELD))
+ if (!mh_strcasecmp (name, ENCODING_FIELD))
adios (NULL, "draft shouldn't contain %s: field", ENCODING_FIELD);
/* ignore any Content-Type fields in the header */
- if (!strcasecmp (name, TYPE_FIELD)) {
+ if (!mh_strcasecmp (name, TYPE_FIELD)) {
while (state == FLDPLUS)
state = m_getfld (state, name, buf, sizeof(buf), in);
goto finish_field;
compnum++;
/* Get MIME-Version field */
- if (!strcasecmp (name, VRSN_FIELD)) {
+ if (!mh_strcasecmp (name, VRSN_FIELD)) {
int ucmp;
char c, *cp, *dp;
for (dp = cp; istoken (*dp); dp++)
continue;
c = *dp, *dp = '\0';
- ucmp = !strcasecmp (cp, VRSN_VALUE);
+ ucmp = !mh_strcasecmp (cp, VRSN_VALUE);
*dp = c;
if (!ucmp)
admonish (NULL,
}
/* Get Content-Type field */
- if (!strcasecmp (name, TYPE_FIELD)) {
+ if (!mh_strcasecmp (name, TYPE_FIELD)) {
char *cp;
struct str2init *s2i;
CI ci = &ct->c_ctinfo;
* flag for this content type.
*/
for (s2i = str2cts; s2i->si_key; s2i++)
- if (!strcasecmp (ci->ci_type, s2i->si_key))
+ if (!mh_strcasecmp (ci->ci_type, s2i->si_key))
break;
if (!s2i->si_key && !uprf (ci->ci_type, "X-"))
s2i++;
}
/* Get Content-Transfer-Encoding field */
- if (!strcasecmp (name, ENCODING_FIELD)) {
+ if (!mh_strcasecmp (name, ENCODING_FIELD)) {
char *cp, *dp;
char c;
struct str2init *s2i;
* for this transfer encoding.
*/
for (s2i = str2ces; s2i->si_key; s2i++)
- if (!strcasecmp (cp, s2i->si_key))
+ if (!mh_strcasecmp (cp, s2i->si_key))
break;
if (!s2i->si_key && !uprf (cp, "X-"))
s2i++;
}
/* Get Content-ID field */
- if (!strcasecmp (name, ID_FIELD)) {
+ if (!mh_strcasecmp (name, ID_FIELD)) {
ct->c_id = add (buf, ct->c_id);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof(buf), in);
}
/* Get Content-Description field */
- if (!strcasecmp (name, DESCR_FIELD)) {
+ if (!mh_strcasecmp (name, DESCR_FIELD)) {
ct->c_descr = add (buf, ct->c_descr);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof(buf), in);
}
/* Get Content-Disposition field */
- if (!strcasecmp (name, DISPO_FIELD)) {
+ if (!mh_strcasecmp (name, DISPO_FIELD)) {
ct->c_dispo = add (buf, ct->c_dispo);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof(buf), in);
}
/* Get Content-MD5 field */
- if (!strcasecmp (name, MD5_FIELD)) {
+ if (!mh_strcasecmp (name, MD5_FIELD)) {
char *cp, *dp, *ep;
cp = add (buf, NULL);
/* match subtype */
for (kv = SubText; kv->kv_key; kv++)
- if (!strcasecmp (ci->ci_subtype, kv->kv_key))
+ if (!mh_strcasecmp (ci->ci_subtype, kv->kv_key))
break;
ct->c_subtype = kv->kv_value;
/* scan for charset parameter */
for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++)
- if (!strcasecmp (*ap, "charset"))
+ if (!mh_strcasecmp (*ap, "charset"))
break;
/* check if content specified a character set */
if (*ap) {
/* match character set or set to CHARSET_UNKNOWN */
for (kv = Charset; kv->kv_key; kv++)
- if (!strcasecmp (*ep, kv->kv_key))
+ if (!mh_strcasecmp (*ep, kv->kv_key))
break;
t->tx_charset = kv->kv_value;
}
/* match subtype */
for (kv = SubMultiPart; kv->kv_key; kv++)
- if (!strcasecmp (ci->ci_subtype, kv->kv_key))
+ if (!mh_strcasecmp (ci->ci_subtype, kv->kv_key))
break;
ct->c_subtype = kv->kv_value;
* required for multipart messages.
*/
for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) {
- if (!strcasecmp (*ap, "boundary")) {
+ if (!mh_strcasecmp (*ap, "boundary")) {
bp = *ep;
break;
}
/* match subtype */
for (kv = SubMessage; kv->kv_key; kv++)
- if (!strcasecmp (ci->ci_subtype, kv->kv_key))
+ if (!mh_strcasecmp (ci->ci_subtype, kv->kv_key))
break;
ct->c_subtype = kv->kv_value;
/* scan for parameters "id", "number", and "total" */
for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) {
- if (!strcasecmp (*ap, "id")) {
+ if (!mh_strcasecmp (*ap, "id")) {
p->pm_partid = add (*ep, NULL);
continue;
}
- if (!strcasecmp (*ap, "number")) {
+ if (!mh_strcasecmp (*ap, "number")) {
if (sscanf (*ep, "%d", &p->pm_partno) != 1
|| p->pm_partno < 1) {
invalid_param:
}
continue;
}
- if (!strcasecmp (*ap, "total")) {
+ if (!mh_strcasecmp (*ap, "total")) {
if (sscanf (*ep, "%d", &p->pm_maxno) != 1
|| p->pm_maxno < 1)
goto invalid_param;
CI ci = &ct->c_ctinfo;
for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) {
- if (!strcasecmp (*ap, "access-type")) {
+ if (!mh_strcasecmp (*ap, "access-type")) {
struct str2init *s2i;
CT p = e->eb_content;
for (s2i = str2methods; s2i->si_key; s2i++)
- if (!strcasecmp (*ep, s2i->si_key))
+ if (!mh_strcasecmp (*ep, s2i->si_key))
break;
if (!s2i->si_key) {
return NOTOK;
continue;
}
- if (!strcasecmp (*ap, "name")) {
+ if (!mh_strcasecmp (*ap, "name")) {
e->eb_name = *ep;
continue;
}
- if (!strcasecmp (*ap, "permission")) {
+ if (!mh_strcasecmp (*ap, "permission")) {
e->eb_permission = *ep;
continue;
}
- if (!strcasecmp (*ap, "site")) {
+ if (!mh_strcasecmp (*ap, "site")) {
e->eb_site = *ep;
continue;
}
- if (!strcasecmp (*ap, "directory")) {
+ if (!mh_strcasecmp (*ap, "directory")) {
e->eb_dir = *ep;
continue;
}
- if (!strcasecmp (*ap, "mode")) {
+ if (!mh_strcasecmp (*ap, "mode")) {
e->eb_mode = *ep;
continue;
}
- if (!strcasecmp (*ap, "size")) {
+ if (!mh_strcasecmp (*ap, "size")) {
sscanf (*ep, "%lu", &e->eb_size);
continue;
}
- if (!strcasecmp (*ap, "server")) {
+ if (!mh_strcasecmp (*ap, "server")) {
e->eb_server = *ep;
continue;
}
- if (!strcasecmp (*ap, "subject")) {
+ if (!mh_strcasecmp (*ap, "subject")) {
e->eb_subject = *ep;
continue;
}
- if (composing && !strcasecmp (*ap, "body")) {
+ if (composing && !mh_strcasecmp (*ap, "body")) {
e->eb_body = getcpy (*ep);
continue;
}
/* match subtype */
for (kv = SubApplication; kv->kv_key; kv++)
- if (!strcasecmp (ci->ci_subtype, kv->kv_key))
+ if (!mh_strcasecmp (ci->ci_subtype, kv->kv_key))
break;
ct->c_subtype = kv->kv_value;
return NOTOK;
}
- if ((!e->eb_permission || strcasecmp (e->eb_permission, "read-write"))
+ if ((!e->eb_permission || mh_strcasecmp (e->eb_permission, "read-write"))
&& find_cache (NULL, wcachesw, &cachetype, e->eb_content->c_id,
cachefile, sizeof(cachefile)) != NOTOK) {
int mask;
ce->ce_unlink = (*file == NULL);
caching = 0;
cachefile[0] = '\0';
- if ((!e->eb_permission || strcasecmp (e->eb_permission, "read-write"))
+ if ((!e->eb_permission || mh_strcasecmp (e->eb_permission, "read-write"))
&& find_cache (NULL, wcachesw, &cachetype, e->eb_content->c_id,
cachefile, sizeof(cachefile)) != NOTOK) {
if (*file == NULL) {
vec[vecp++] = e->eb_dir;
vec[vecp++] = e->eb_name;
vec[vecp++] = ce->ce_file,
- vec[vecp++] = e->eb_mode && !strcasecmp (e->eb_mode, "ascii")
+ vec[vecp++] = e->eb_mode && !mh_strcasecmp (e->eb_mode, "ascii")
? "ascii" : "binary";
vec[vecp] = NULL;
else
if (ftp_get (e->eb_site, user, pass, e->eb_dir, e->eb_name,
ce->ce_file,
- e->eb_mode && !strcasecmp (e->eb_mode, "ascii"), 0)
+ e->eb_mode && !mh_strcasecmp (e->eb_mode, "ascii"), 0)
== NOTOK)
goto losing_ftp;
#endif
done (1);
for (s2i = str2cts; s2i->si_key; s2i++)
- if (!strcasecmp (ci->ci_type, s2i->si_key))
+ if (!mh_strcasecmp (ci->ci_type, s2i->si_key))
break;
if (!s2i->si_key && !uprf (ci->ci_type, "X-"))
s2i++;
*/
switch (ct->c_type = s2i->si_val) {
case CT_MESSAGE:
- if (!strcasecmp (ci->ci_subtype, "rfc822")) {
+ if (!mh_strcasecmp (ci->ci_subtype, "rfc822")) {
ct->c_encoding = CE_7BIT;
goto call_init;
}
/* check directive against the list of MIME types */
for (s2i = str2cts; s2i->si_key; s2i++)
- if (!strcasecmp (ci->ci_type, s2i->si_key))
+ if (!mh_strcasecmp (ci->ci_type, s2i->si_key))
break;
/*
/* NOTREACHED */
case CT_MESSAGE:
- if (!strcasecmp (ci->ci_subtype, "partial"))
+ if (!mh_strcasecmp (ci->ci_subtype, "partial"))
adios (NULL, "sorry, \"#%s/%s\" isn't supported",
ci->ci_type, ci->ci_subtype);
- if (!strcasecmp (ci->ci_subtype, "external-body"))
+ if (!mh_strcasecmp (ci->ci_subtype, "external-body"))
adios (NULL, "use \"#@type/subtype ... [] ...\" instead of \"#%s/%s\"",
ci->ci_type, ci->ci_subtype);
use_forw:
* Message directive
* #forw [+folder] [msgs]
*/
- if (!strcasecmp (ci->ci_type, "forw")) {
+ if (!mh_strcasecmp (ci->ci_type, "forw")) {
int msgnum;
char *folder, *arguments[MAXARGS];
struct msgs *mp;
/*
* #end
*/
- if (!strcasecmp (ci->ci_type, "end")) {
+ if (!mh_strcasecmp (ci->ci_type, "end")) {
free_content (ct);
*ctp = NULL;
return DONE;
/*
* #begin [ alternative | parallel ]
*/
- if (!strcasecmp (ci->ci_type, "begin")) {
+ if (!mh_strcasecmp (ci->ci_type, "begin")) {
if (!ci->ci_magic) {
vrsn = MULTI_MIXED;
cp = SubMultiPart[vrsn - 1].kv_key;
- } else if (!strcasecmp (ci->ci_magic, "alternative")) {
+ } else if (!mh_strcasecmp (ci->ci_magic, "alternative")) {
vrsn = MULTI_ALTERNATE;
cp = SubMultiPart[vrsn - 1].kv_key;
- } else if (!strcasecmp (ci->ci_magic, "parallel")) {
+ } else if (!mh_strcasecmp (ci->ci_magic, "parallel")) {
vrsn = MULTI_PARALLEL;
cp = SubMultiPart[vrsn - 1].kv_key;
} else if (uprf (ci->ci_magic, "digest")) {
* the end of the Content-Type line.
*/
for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) {
- if (mailbody && !strcasecmp (*ap, "body"))
+ if (mailbody && !mh_strcasecmp (*ap, "body"))
continue;
vp = add (";", vp);
* Split this list of fields to ignore, and copy
* it to the end of the current "ignores" list.
*/
- if (!strcasecmp (name, "ignores")) {
+ if (!mh_strcasecmp (name, "ignores")) {
char **tmparray, **p;
int n = 0;
return 0;
strncpy (name, parse(), sizeof(name));
- if (!strcasecmp (name, "component")) {
+ if (!mh_strcasecmp (name, "component")) {
if (ptos (name, &c1->c_text))
return 1;
c1->c_flags &= ~NOCOMPONENT;
return 0;
}
- if (!strcasecmp (name, "overflowtext"))
+ if (!mh_strcasecmp (name, "overflowtext"))
return ptos (name, &c1->c_ovtxt);
- if (!strcasecmp (name, "formatfield")) {
+ if (!mh_strcasecmp (name, "formatfield")) {
char *nfs;
if (ptos (name, &cp))
return 0;
}
- if (!strcasecmp (name, "decode")) {
+ if (!mh_strcasecmp (name, "decode")) {
char *nfs;
nfs = new_fs (NULL, NULL, "%(decode{text})");
return 0;
}
- if (!strcasecmp (name, "offset"))
+ if (!mh_strcasecmp (name, "offset"))
return ptoi (name, &c1->c_offset);
- if (!strcasecmp (name, "overflowoffset"))
+ if (!mh_strcasecmp (name, "overflowoffset"))
return ptoi (name, &c1->c_ovoff);
- if (!strcasecmp (name, "width"))
+ if (!mh_strcasecmp (name, "width"))
return ptoi (name, &c1->c_width);
- if (!strcasecmp (name, "compwidth"))
+ if (!mh_strcasecmp (name, "compwidth"))
return ptoi (name, &c1->c_cwidth);
- if (!strcasecmp (name, "length"))
+ if (!mh_strcasecmp (name, "length"))
return ptoi (name, &c1->c_length);
- if (!strcasecmp (name, "nodashstuffing"))
+ if (!mh_strcasecmp (name, "nodashstuffing"))
return (dashstuff = -1);
for (ap = triples; ap->t_name; ap++)
- if (!strcasecmp (ap->t_name, name)) {
+ if (!mh_strcasecmp (ap->t_name, name)) {
c1->c_flags |= ap->t_on;
c1->c_flags &= ~ap->t_off;
return 0;
case FLD:
case FLDPLUS:
for (ip = ignores; *ip; ip++)
- if (!strcasecmp (name, *ip)) {
+ if (!mh_strcasecmp (name, *ip)) {
while (state == FLDPLUS)
state = m_getfld (state, name, buf, sizeof(buf), fp);
break;
continue;
for (c2 = fmthd; c2; c2 = c2->c_next)
- if (!strcasecmp (c2->c_name, name))
+ if (!mh_strcasecmp (c2->c_name, name))
break;
c1 = NULL;
if (!((c3 = c2 ? c2 : &global)->c_flags & SPLIT))
for (c1 = msghd; c1; c1 = c1->c_next)
- if (!strcasecmp (c1->c_name, c3->c_name)) {
+ if (!mh_strcasecmp (c1->c_name, c3->c_name)) {
c1->c_text =
mcomp_add (c1->c_flags, buf, c1->c_text);
break;
putcomp (c1, c1, ONECOMP);
continue;
}
- if (!strcasecmp (c1->c_name, "messagename")) {
+ if (!mh_strcasecmp (c1->c_name, "messagename")) {
holder.c_text = concat ("(Message ", mname, ")\n",
NULL);
putcomp (c1, &holder, ONECOMP);
holder.c_text = NULL;
continue;
}
- if (!strcasecmp (c1->c_name, "extras")) {
+ if (!mh_strcasecmp (c1->c_name, "extras")) {
for (c2 = msghd; c2; c2 = c2->c_next)
if (c2->c_flags & EXTRA)
putcomp (c1, c2, TWOCOMP);
continue;
}
- if (dobody && !strcasecmp (c1->c_name, "body")) {
+ if (dobody && !mh_strcasecmp (c1->c_name, "body")) {
holder.c_text = mh_xmalloc (sizeof(buf));
strncpy (holder.c_text, buf, sizeof(buf));
while (state == BODY) {
continue;
}
for (c2 = msghd; c2; c2 = c2->c_next)
- if (!strcasecmp (c2->c_name, c1->c_name)) {
+ if (!mh_strcasecmp (c2->c_name, c1->c_name)) {
putcomp (c1, c2, ONECOMP);
if (!(c1->c_flags & SPLIT))
break;
struct pair *ap;
for (ap = pairs; ap->p_name; ap++)
- if (!strcasecmp (ap->p_name, name))
+ if (!mh_strcasecmp (ap->p_name, name))
return (ap->p_flags);
return 0;
snprintf (buffer, sizeof(buffer), "%s/%s", ci->ci_type, ci->ci_subtype);
for (ap = types; *ap; ap++)
- if (!strcasecmp (*ap, ci->ci_type) || !strcasecmp (*ap, buffer))
+ if (!mh_strcasecmp (*ap, ci->ci_type) || !mh_strcasecmp (*ap, buffer))
return 1;
return 0;
case 'N':
for (ap = ci2->ci_attrs, ep = ci2->ci_values; *ap; ap++, ep++)
- if (!strcasecmp (*ap, "name")) {
+ if (!mh_strcasecmp (*ap, "name")) {
fprintf (out, "%s", *ep);
break;
}
struct proc *ps;
for (ps = procs; ps->p_name; ps++)
- if (!strcasecmp (ps->p_name, str))
+ if (!mh_strcasecmp (ps->p_name, str))
return (*ps->p_field);
return NULL;
hp = ct->c_first_hf; /* start at first header field */
while (hp) {
/* Get MIME-Version field */
- if (!strcasecmp (hp->name, VRSN_FIELD)) {
+ if (!mh_strcasecmp (hp->name, VRSN_FIELD)) {
int ucmp;
char c, *cp, *dp;
continue;
c = *dp;
*dp = '\0';
- ucmp = !strcasecmp (cp, VRSN_VALUE);
+ ucmp = !mh_strcasecmp (cp, VRSN_VALUE);
*dp = c;
if (!ucmp) {
admonish (NULL, "message %s has unknown value for %s: field (%s)",
ct->c_file, VRSN_FIELD, cp);
}
}
- else if (!strcasecmp (hp->name, TYPE_FIELD)) {
+ else if (!mh_strcasecmp (hp->name, TYPE_FIELD)) {
/* Get Content-Type field */
struct str2init *s2i;
CI ci = &ct->c_ctinfo;
* flag for this content type.
*/
for (s2i = str2cts; s2i->si_key; s2i++)
- if (!strcasecmp (ci->ci_type, s2i->si_key))
+ if (!mh_strcasecmp (ci->ci_type, s2i->si_key))
break;
if (!s2i->si_key && !uprf (ci->ci_type, "X-"))
s2i++;
ct->c_type = s2i->si_val;
ct->c_ctinitfnx = s2i->si_init;
}
- else if (!strcasecmp (hp->name, ENCODING_FIELD)) {
+ else if (!mh_strcasecmp (hp->name, ENCODING_FIELD)) {
/* Get Content-Transfer-Encoding field */
char c, *cp, *dp;
struct str2init *s2i;
* for this transfer encoding.
*/
for (s2i = str2ces; s2i->si_key; s2i++)
- if (!strcasecmp (cp, s2i->si_key))
+ if (!mh_strcasecmp (cp, s2i->si_key))
break;
if (!s2i->si_key && !uprf (cp, "X-"))
s2i++;
if (s2i->si_init && (*s2i->si_init) (ct) == NOTOK)
goto out;
}
- else if (!strcasecmp (hp->name, MD5_FIELD)) {
+ else if (!mh_strcasecmp (hp->name, MD5_FIELD)) {
/* Get Content-MD5 field */
char *cp, *dp, *ep;
free (ep);
ct->c_digested++;
}
- else if (!strcasecmp (hp->name, ID_FIELD)) {
+ else if (!mh_strcasecmp (hp->name, ID_FIELD)) {
/* Get Content-ID field */
ct->c_id = add (hp->value, ct->c_id);
}
- else if (!strcasecmp (hp->name, DESCR_FIELD)) {
+ else if (!mh_strcasecmp (hp->name, DESCR_FIELD)) {
/* Get Content-Description field */
ct->c_descr = add (hp->value, ct->c_descr);
}
/* match subtype */
for (kv = SubText; kv->kv_key; kv++)
- if (!strcasecmp (ci->ci_subtype, kv->kv_key))
+ if (!mh_strcasecmp (ci->ci_subtype, kv->kv_key))
break;
ct->c_subtype = kv->kv_value;
/* scan for charset parameter */
for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++)
- if (!strcasecmp (*ap, "charset"))
+ if (!mh_strcasecmp (*ap, "charset"))
break;
if (*ap)
/* match character set, or set to unknown */
for (kv = Charset; kv->kv_key; kv++)
- if (!strcasecmp (chset, kv->kv_key))
+ if (!mh_strcasecmp (chset, kv->kv_key))
break;
t->tx_charset = kv->kv_value;
/* match subtype */
for (kv = SubMultiPart; kv->kv_key; kv++)
- if (!strcasecmp (ci->ci_subtype, kv->kv_key))
+ if (!mh_strcasecmp (ci->ci_subtype, kv->kv_key))
break;
ct->c_subtype = kv->kv_value;
*/
bp = 0;
for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) {
- if (!strcasecmp (*ap, "boundary")) {
+ if (!mh_strcasecmp (*ap, "boundary")) {
bp = *ep;
break;
}
/* match subtype */
for (kv = SubMessage; kv->kv_key; kv++)
- if (!strcasecmp (ci->ci_subtype, kv->kv_key))
+ if (!mh_strcasecmp (ci->ci_subtype, kv->kv_key))
break;
ct->c_subtype = kv->kv_value;
/* scan for parameters "id", "number", and "total" */
for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) {
- if (!strcasecmp (*ap, "id")) {
+ if (!mh_strcasecmp (*ap, "id")) {
p->pm_partid = add (*ep, NULL);
continue;
}
- if (!strcasecmp (*ap, "number")) {
+ if (!mh_strcasecmp (*ap, "number")) {
if (sscanf (*ep, "%d", &p->pm_partno) != 1
|| p->pm_partno < 1) {
invalid_param:
}
continue;
}
- if (!strcasecmp (*ap, "total")) {
+ if (!mh_strcasecmp (*ap, "total")) {
if (sscanf (*ep, "%d", &p->pm_maxno) != 1
|| p->pm_maxno < 1)
goto invalid_param;
CI ci = &ct->c_ctinfo;
for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) {
- if (!strcasecmp (*ap, "access-type")) {
+ if (!mh_strcasecmp (*ap, "access-type")) {
struct str2init *s2i;
CT p = e->eb_content;
for (s2i = str2methods; s2i->si_key; s2i++)
- if (!strcasecmp (*ep, s2i->si_key))
+ if (!mh_strcasecmp (*ep, s2i->si_key))
break;
if (!s2i->si_key) {
e->eb_access = *ep;
return NOTOK;
continue;
}
- if (!strcasecmp (*ap, "name")) {
+ if (!mh_strcasecmp (*ap, "name")) {
e->eb_name = *ep;
continue;
}
- if (!strcasecmp (*ap, "permission")) {
+ if (!mh_strcasecmp (*ap, "permission")) {
e->eb_permission = *ep;
continue;
}
- if (!strcasecmp (*ap, "site")) {
+ if (!mh_strcasecmp (*ap, "site")) {
e->eb_site = *ep;
continue;
}
- if (!strcasecmp (*ap, "directory")) {
+ if (!mh_strcasecmp (*ap, "directory")) {
e->eb_dir = *ep;
continue;
}
- if (!strcasecmp (*ap, "mode")) {
+ if (!mh_strcasecmp (*ap, "mode")) {
e->eb_mode = *ep;
continue;
}
- if (!strcasecmp (*ap, "size")) {
+ if (!mh_strcasecmp (*ap, "size")) {
sscanf (*ep, "%lu", &e->eb_size);
continue;
}
- if (!strcasecmp (*ap, "server")) {
+ if (!mh_strcasecmp (*ap, "server")) {
e->eb_server = *ep;
continue;
}
- if (!strcasecmp (*ap, "subject")) {
+ if (!mh_strcasecmp (*ap, "subject")) {
e->eb_subject = *ep;
continue;
}
- if (composing && !strcasecmp (*ap, "body")) {
+ if (composing && !mh_strcasecmp (*ap, "body")) {
e->eb_body = getcpy (*ep);
continue;
}
/* match subtype */
for (kv = SubApplication; kv->kv_key; kv++)
- if (!strcasecmp (ci->ci_subtype, kv->kv_key))
+ if (!mh_strcasecmp (ci->ci_subtype, kv->kv_key))
break;
ct->c_subtype = kv->kv_value;
return NOTOK;
}
- if ((!e->eb_permission || strcasecmp (e->eb_permission, "read-write"))
+ if ((!e->eb_permission || mh_strcasecmp (e->eb_permission, "read-write"))
&& find_cache (NULL, wcachesw, &cachetype, e->eb_content->c_id,
cachefile, sizeof(cachefile)) != NOTOK) {
int mask;
ce->ce_unlink = (*file == NULL);
caching = 0;
cachefile[0] = '\0';
- if ((!e->eb_permission || strcasecmp (e->eb_permission, "read-write"))
+ if ((!e->eb_permission || mh_strcasecmp (e->eb_permission, "read-write"))
&& find_cache (NULL, wcachesw, &cachetype, e->eb_content->c_id,
cachefile, sizeof(cachefile)) != NOTOK) {
if (*file == NULL) {
vec[vecp++] = e->eb_dir;
vec[vecp++] = e->eb_name;
vec[vecp++] = ce->ce_file,
- vec[vecp++] = e->eb_mode && !strcasecmp (e->eb_mode, "ascii")
+ vec[vecp++] = e->eb_mode && !mh_strcasecmp (e->eb_mode, "ascii")
? "ascii" : "binary";
vec[vecp] = NULL;
else
if (ftp_get (e->eb_site, user, pass, e->eb_dir, e->eb_name,
ce->ce_file,
- e->eb_mode && !strcasecmp (e->eb_mode, "ascii"), 0)
+ e->eb_mode && !mh_strcasecmp (e->eb_mode, "ascii"), 0)
== NOTOK)
goto losing_ftp;
#endif
for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) {
/* check for "type=tar" attribute */
- if (!strcasecmp (*ap, "type")) {
- if (strcasecmp (*ep, "tar"))
+ if (!mh_strcasecmp (*ap, "type")) {
+ if (mh_strcasecmp (*ep, "tar"))
break;
tarP = 1;
}
/* check for "conversions=compress" attribute */
- if ((!strcasecmp (*ap, "conversions") || !strcasecmp (*ap, "x-conversions"))
- && (!strcasecmp (*ep, "compress") || !strcasecmp (*ep, "x-compress"))) {
+ if ((!mh_strcasecmp (*ap, "conversions") || !mh_strcasecmp (*ap, "x-conversions"))
+ && (!mh_strcasecmp (*ep, "compress") || !mh_strcasecmp (*ep, "x-compress"))) {
zP = 1;
continue;
}
/* check for "conversions=gzip" attribute */
- if ((!strcasecmp (*ap, "conversions") || !strcasecmp (*ap, "x-conversions"))
- && (!strcasecmp (*ep, "gzip") || !strcasecmp (*ep, "x-gzip"))) {
+ if ((!mh_strcasecmp (*ap, "conversions") || !mh_strcasecmp (*ap, "x-conversions"))
+ && (!mh_strcasecmp (*ep, "gzip") || !mh_strcasecmp (*ep, "x-gzip"))) {
gzP = 1;
continue;
}
* the storeproc.
*/
for (ap = ci->ci_attrs, ep = ci->ci_values; *ap; ap++, ep++) {
- if (!strcasecmp (*ap, "name")
+ if (!mh_strcasecmp (*ap, "name")
&& *(cp = *ep) != '/'
&& *cp != '.'
&& *cp != '|'
* messages are not copied.
*/
if (!uprf (hp->name, XXX_FIELD_PRF)
- && strcasecmp (hp->name, VRSN_FIELD)
- && strcasecmp (hp->name, "Subject")
- && strcasecmp (hp->name, "Encrypted")
- && strcasecmp (hp->name, "Message-ID"))
+ && mh_strcasecmp (hp->name, VRSN_FIELD)
+ && mh_strcasecmp (hp->name, "Subject")
+ && mh_strcasecmp (hp->name, "Encrypted")
+ && mh_strcasecmp (hp->name, "Message-ID"))
fprintf (out, "%s:%s", hp->name, hp->value);
hp = hp->next; /* next header field */
}
case FLD:
case FLDEOF:
case FLDPLUS:
- if (!strcasecmp (name, BBoard_ID)) {
+ if (!mh_strcasecmp (name, BBoard_ID)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof(buf), zp);
char *cp, *proc = showproc, buf[BUFSIZ];
char *msgs[MAXARGS], *vec[MAXARGS];
- if (!strcasecmp (cmd_name, "next"))
+ if (!mh_strcasecmp (cmd_name, "next"))
mode = 1;
else
- if (!strcasecmp (cmd_name, "prev"))
+ if (!mh_strcasecmp (cmd_name, "prev"))
mode = -1;
while ((cp = *args++)) {
if (*cp == '-')
/*
* Check Content-Type field
*/
- if (!strcasecmp (name, TYPE_FIELD)) {
+ if (!mh_strcasecmp (name, TYPE_FIELD)) {
int passno;
char c;
if (!*bp)
goto invalid;
if (passno > 1) {
- if ((result = (strcasecmp (bp, "plain") != 0)))
+ if ((result = (mh_strcasecmp (bp, "plain") != 0)))
goto out;
*dp = c;
for (dp++; isspace (*dp); dp++)
/* Check the character set */
result = !check_charset (dp, strlen (dp));
} else {
- if (!(result = (strcasecmp (bp, "text") != 0))) {
+ if (!(result = (mh_strcasecmp (bp, "text") != 0))) {
*dp = c;
bp = dp;
passno = 2;
/*
* Check Content-Transfer-Encoding field
*/
- if (!strcasecmp (name, ENCODING_FIELD)) {
+ if (!mh_strcasecmp (name, ENCODING_FIELD)) {
cp = add (buf, NULL);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof buf, fp);
for (dp = bp; istoken (*dp); dp++)
continue;
*dp = '\0';
- result = (strcasecmp (bp, "7bit")
- && strcasecmp (bp, "8bit")
- && strcasecmp (bp, "binary"));
+ result = (mh_strcasecmp (bp, "7bit")
+ && mh_strcasecmp (bp, "8bit")
+ && mh_strcasecmp (bp, "binary"));
free (cp);
if (result) {
case FLD:
case FLDEOF:
case FLDPLUS:
- if (!strcasecmp (name, datesw)) {
+ if (!mh_strcasecmp (name, datesw)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof buf, zp);
break; /* all done! */
gotdate++;
}
- else if (subjsw && !strcasecmp(name, subjsw)) {
+ else if (subjsw && !mh_strcasecmp(name, subjsw)) {
bp = getcpy (buf);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof buf, zp);
if (s) {
cp = s;
dp = s; /* dst pointer */
- if (!strcasecmp (subj, "subject"))
+ if (!mh_strcasecmp (subj, "subject"))
while ((c = *cp)) {
if (! isspace(c)) {
if(uprf(cp, "re:"))
register struct tws *tw;
time (&clock);
- if (!strcasecmp (ap, "today"))
+ if (!mh_strcasecmp (ap, "today"))
return dlocaltime (&clock);
- if (!strcasecmp (ap, "yesterday")) {
+ if (!mh_strcasecmp (ap, "yesterday")) {
clock -= (long) (60 * 60 * 24);
return dlocaltime (&clock);
}
- if (!strcasecmp (ap, "tomorrow")) {
+ if (!mh_strcasecmp (ap, "tomorrow")) {
clock += (long) (60 * 60 * 24);
return dlocaltime (&clock);
}
for (i = 0; tw_ldotw[i]; i++)
- if (!strcasecmp (ap, tw_ldotw[i]))
+ if (!mh_strcasecmp (ap, tw_ldotw[i]))
break;
if (tw_ldotw[i]) {
if ((tw = dlocaltime (&clock)) == NULL)
state = m_getfld (state, name, buf, sizeof buf, fp);
bp = add (buf, bp);
}
- if (!strcasecmp (name, n->n_datef))
+ if (!mh_strcasecmp (name, n->n_datef))
break;
if (state != FLDEOF)
continue;
snprintf (buffer, sizeof(buffer), fmt, a, b, c, d);
ap = brkstring (buffer, " ", "\n"); /* a hack, i know... */
- if (!strcasecmp(ap[0], "x-bboards")) { /* XTND "X-BBOARDS group */
+ if (!mh_strcasecmp(ap[0], "x-bboards")) { /* XTND "X-BBOARDS group */
/* most of these parameters are meaningless under NNTP.
* bbc.c was modified to set AKA and LEADERS as appropriate,
* the rest are left blank.
*/
return OK;
}
- if (!strcasecmp (ap[0], "archive") && ap[1]) {
+ if (!mh_strcasecmp (ap[0], "archive") && ap[1]) {
snprintf (xtnd_name, sizeof(xtnd_name), "%s", ap[1]); /* save the name */
xtnd_last = 0;
xtnd_first = 1; /* setup to fail in pop_stat */
return OK;
}
- if (!strcasecmp (ap[0], "bboards")) {
+ if (!mh_strcasecmp (ap[0], "bboards")) {
if (ap[1]) { /* XTND "BBOARDS group" */
snprintf (xtnd_name, sizeof(xtnd_name), "%s", ap[1]); /* save the name */
struct headers *h;
for (h = table; h->value; h++)
- if (!strcasecmp (header, h->value))
+ if (!mh_strcasecmp (header, h->value))
return (h - table);
return NOTOK;
: &netaddrs;
mp->m_next;
mp = mp->m_next)
- if (!strcasecmp (np->m_host, mp->m_next->m_host)
- && !strcasecmp (np->m_mbox, mp->m_next->m_mbox)
+ if (!mh_strcasecmp (np->m_host, mp->m_next->m_host)
+ && !mh_strcasecmp (np->m_mbox, mp->m_next->m_mbox)
&& np->m_bcc == mp->m_next->m_bcc)
return 0;
case FLDPLUS:
if ((cptr = wantcomp[CHASH (name)]))
do {
- if (!strcasecmp (name, cptr->c_name)) {
+ if (!mh_strcasecmp (name, cptr->c_name)) {
char_read += msg_count;
if (!cptr->c_text) {
cptr->c_text = tmpbuf;
*/
if ((cptr = wantcomp[CHASH(name)]))
do {
- if (!strcasecmp(name, cptr->c_name)) {
+ if (!mh_strcasecmp(name, cptr->c_name)) {
char_read += msg_count;
if (! cptr->c_text) {
i = strlen(cptr->c_text = tmpbuf) - 1;
return 0;
for (mp = &mq; mp->m_next; mp = mp->m_next) {
- if (!strcasecmp (np->m_host, mp->m_next->m_host)
- && !strcasecmp (np->m_mbox, mp->m_next->m_mbox))
+ if (!mh_strcasecmp (np->m_host, mp->m_next->m_host)
+ && !mh_strcasecmp (np->m_mbox, mp->m_next->m_mbox))
return 0;
}
if (!ccme && ismymbox (np))
*/
if ((cptr = wantcomp[CHASH(name)])) {
do {
- if (!strcasecmp(name, cptr->c_name)) {
+ if (!mh_strcasecmp(name, cptr->c_name)) {
if (! cptr->c_text) {
cptr->c_text = tmpbuf;
for (cp = tmpbuf + strlen (tmpbuf) - 1;
if ((p = strrchr(file_name, '.')) != (char *)0) {
for (np = m_defs; np; np = np->n_next) {
- if (strncasecmp(np->n_name, "mhshow-suffix-", 14) == 0 && strcasecmp(p, np->n_field) == 0) {
+ if (strncasecmp(np->n_name, "mhshow-suffix-", 14) == 0 && mh_strcasecmp(p, np->n_field) == 0) {
content_type = np->n_name + 14;
break;
}
/*
* This header field is discarded.
*/
- if (!strcasecmp (name, "Message-ID")) {
+ if (!mh_strcasecmp (name, "Message-ID")) {
while (state == FLDPLUS)
state = m_getfld (state, name, buffer, sizeof(buffer), in);
} else if (uprf (name, XXX_FIELD_PRF)
- || !strcasecmp (name, VRSN_FIELD)
- || !strcasecmp (name, "Subject")
- || !strcasecmp (name, "Encrypted")) {
+ || !mh_strcasecmp (name, VRSN_FIELD)
+ || !mh_strcasecmp (name, "Subject")
+ || !mh_strcasecmp (name, "Encrypted")) {
/*
* These header fields are copied to the enclosed
* header of the first message in the collection
* version of it, can be copied to the header
* of each messsage/partial in the collection.
*/
- if (!strcasecmp (name, "Subject")) {
+ if (!mh_strcasecmp (name, "Subject")) {
size_t sublen;
strncpy (subject, buffer, BUFSIZ);
/* read user profile/context */
context_read();
- if (!strcasecmp (invo_name, "next")) {
+ if (!mh_strcasecmp (invo_name, "next")) {
mode = NEXT;
- } else if (!strcasecmp (invo_name, "prev")) {
+ } else if (!mh_strcasecmp (invo_name, "prev")) {
mode = PREV;
}
arguments = getarguments (invo_name, argc, argv, 1);
/*
* Check Content-Type field
*/
- if (!strcasecmp (name, TYPE_FIELD)) {
+ if (!mh_strcasecmp (name, TYPE_FIELD)) {
int passno;
char c;
if (!*bp)
goto invalid;
if (passno > 1) {
- if ((result = (strcasecmp (bp, "plain") != 0)))
+ if ((result = (mh_strcasecmp (bp, "plain") != 0)))
goto out;
*dp = c;
for (dp++; isspace (*dp); dp++)
/* Check the character set */
result = !check_charset (dp, strlen (dp));
} else {
- if (!(result = (strcasecmp (bp, "text") != 0))) {
+ if (!(result = (mh_strcasecmp (bp, "text") != 0))) {
*dp = c;
bp = dp;
passno = 2;
/*
* Check Content-Transfer-Encoding field
*/
- if (!strcasecmp (name, ENCODING_FIELD)) {
+ if (!mh_strcasecmp (name, ENCODING_FIELD)) {
cp = add (buf, NULL);
while (state == FLDPLUS) {
state = m_getfld (state, name, buf, sizeof(buf), fp);
for (dp = bp; istoken (*dp); dp++)
continue;
*dp = '\0';
- result = (strcasecmp (bp, "7bit")
- && strcasecmp (bp, "8bit")
- && strcasecmp (bp, "binary"));
+ result = (mh_strcasecmp (bp, "7bit")
+ && mh_strcasecmp (bp, "8bit")
+ && mh_strcasecmp (bp, "binary"));
free (cp);
if (result) {
}
if (vecp > 5) {
- if (!strcasecmp (vec[5], "select")) {
+ if (!mh_strcasecmp (vec[5], "select")) {
if (logged_in () != -1)
continue;
if (vecp > 7 && timely (vec[6], vec[7]) == -1)
* "default" matches only if the message hasn't
* been delivered yet.
*/
- if (!strcasecmp (field, "default")) {
+ if (!mh_strcasecmp (field, "default")) {
if (won)
continue;
break;
switch (*action) {
case 'q':
/* deliver to quoted pipe */
- if (strcasecmp (action, "qpipe"))
+ if (mh_strcasecmp (action, "qpipe"))
continue; /* else fall */
case '^':
expand (tmpbuf, string, fd);
case 'p':
/* deliver to pipe */
- if (strcasecmp (action, "pipe"))
+ if (mh_strcasecmp (action, "pipe"))
continue; /* else fall */
case '|':
vec[2] = "sh";
case 'f':
/* mbox format */
- if (!strcasecmp (action, "file")) {
+ if (!mh_strcasecmp (action, "file")) {
status = usr_file (fd, string, MBOX_FORMAT);
break;
}
/* deliver to nmh folder */
- else if (strcasecmp (action, "folder"))
+ else if (mh_strcasecmp (action, "folder"))
continue; /* else fall */
case '+':
status = usr_folder (fd, string);
case 'm':
/* mmdf format */
- if (!strcasecmp (action, "mmdf")) {
+ if (!mh_strcasecmp (action, "mmdf")) {
status = usr_file (fd, string, MMDF_FORMAT);
break;
}
/* mbox format */
- else if (strcasecmp (action, "mbox"))
+ else if (mh_strcasecmp (action, "mbox"))
continue; /* else fall */
case '>':
case 'd':
/* ignore message */
- if (strcasecmp (action, "destroy"))
+ if (mh_strcasecmp (action, "destroy"))
continue;
status = 0;
break;
lp = add (field, lp);
}
for (p = hdrs; p->p_name; p++) {
- if (!strcasecmp (p->p_name, name)) {
+ if (!mh_strcasecmp (p->p_name, name)) {
if (!(p->p_flags & P_HID)) {
if ((cp = p->p_value)) {
if (p->p_flags & P_ADR) {
lookup (struct pair *pairs, char *key)
{
for (; pairs->p_name; pairs++)
- if (!strcasecmp (pairs->p_name, key))
+ if (!mh_strcasecmp (pairs->p_name, key))
return pairs;
return NULL;
case FLDPLUS:
case FLDEOF:
/* Search for the message ID */
- if (strcasecmp (name, "Message-ID")) {
+ if (mh_strcasecmp (name, "Message-ID")) {
while (state == FLDPLUS)
state = m_getfld (state, name, buf, sizeof(buf), in);
continue;
case FLDEOF:
case FLDPLUS:
compnum++;
- if (!strcasecmp (nam, datesw)) {
+ if (!mh_strcasecmp (nam, datesw)) {
datecomp = add (buf, datecomp);
while (state == FLDPLUS) {
state = m_getfld (state, nam, buf, sizeof(buf), in);
}
if (!subjsort || subjcomp)
break;
- } else if (subjsort && !strcasecmp (nam, subjsort)) {
+ } else if (subjsort && !mh_strcasecmp (nam, subjsort)) {
subjcomp = add (buf, subjcomp);
while (state == FLDPLUS) {
state = m_getfld (state, nam, buf, sizeof(buf), in);
struct headers *h;
for (h = table; h->value; h++)
- if (!strcasecmp (header, h->value))
+ if (!mh_strcasecmp (header, h->value))
return (h - table);
return NOTOK;