dftype = LOCALHOST;
}
- mp = (struct mailname *) mh_xcalloc ((size_t) 1, sizeof(*mp));
- if (mp == NULL) {
- if (eresult) {
- strncpy (eresult, "insufficient memory to represent address",
- eresultsize);
- eresult[eresultsize - 1] = '\0';
- }
- return NULL;
- }
-
+ NEW0(mp);
mp->m_next = NULL;
mp->m_text = getcpy (str);
if (pers)
- mp->m_pers = getcpy (pers);
+ mp->m_pers = mh_xstrdup(pers);
if (mbox == NULL) {
mp->m_type = BADHOST;
mp->m_ingrp = ingrp;
mp->m_gname = getcpy (grp);
if (note)
- mp->m_note = getcpy (note);
+ mp->m_note = mh_xstrdup(note);
return mp;
}
if (host) {
mp->m_mbox = getcpy (mbox);
- mp->m_host = getcpy (host);
+ mp->m_host = mh_xstrdup(host);
mp->m_type =
strcasecmp (LocalName(0), mp->m_host) ? NETHOST : LOCALHOST;
} else {
if ((pp = strchr(mbox, '!'))) {
*pp++ = '\0';
- mp->m_mbox = getcpy (pp);
+ mp->m_mbox = mh_xstrdup(pp);
mp->m_host = getcpy (mbox);
mp->m_type = UUCPHOST;
} else {
to support wild-card matching. */
if (route)
- mp->m_path = getcpy (route);
+ mp->m_path = mh_xstrdup(route);
mp->m_ingrp = ingrp;
if (grp)
- mp->m_gname = getcpy (grp);
+ mp->m_gname = mh_xstrdup(grp);
if (note)
- mp->m_note = getcpy (note);
+ mp->m_note = mh_xstrdup(note);
return mp;
}
if (!mp)
return;
- if (mp->m_text)
- free (mp->m_text);
- if (mp->m_pers)
- free (mp->m_pers);
- if (mp->m_mbox)
- free (mp->m_mbox);
- if (mp->m_host)
- free (mp->m_host);
- if (mp->m_path)
- free (mp->m_path);
- if (mp->m_gname)
- free (mp->m_gname);
- if (mp->m_note)
- free (mp->m_note);
-
- free ((char *) mp);
+ mh_xfree(mp->m_text);
+ mh_xfree(mp->m_pers);
+ mh_xfree(mp->m_mbox);
+ mh_xfree(mp->m_host);
+ mh_xfree(mp->m_path);
+ mh_xfree(mp->m_gname);
+ mh_xfree(mp->m_note);
+
+ free(mp);
}
ismymbox (struct mailname *np)
{
int oops;
- register int len, i;
- register char *cp;
- register char *pp;
+ int len, i;
+ char *cp;
+ char *pp;
char buffer[BUFSIZ];
struct mailname *mp;
static char *am = NULL;