** complete copyright information.
*/
+#include <sysexits.h>
#include <h/mh.h>
+#include <h/utils.h>
#include <h/addrsbr.h>
#include <h/mf.h>
dftype = LOCALHOST;
}
- mp = (struct mailname *) calloc((size_t) 1, sizeof(*mp));
+ mp = (struct mailname *) mh_xcalloc((size_t) 1, sizeof(*mp));
if (mp == NULL) {
if (eresult)
strcpy(eresult, "insufficient memory to represent address");
else if (wanthost == AD_HOST)
- adios(NULL, "insufficient memory to represent address");
+ adios(EX_OSERR, NULL, "insufficient memory to represent address");
return NULL;
}
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;
- static struct mailname mq={NULL};
+ static struct mailname mq;
/*
** If this is the first call, initialize
return 0;
}
+
+/*
+ * Insert mailname after element and returns the
+ * number of parsed addresses. element is set to
+ * the last parsed addresse.
+ */
+size_t
+getmboxes(char *line, struct mailname **element)
+{
+ struct mailname *mp, *next;
+ char *cp;
+ size_t i = 0;
+
+ next = (*element)->m_next;
+
+ while ((cp = getname(line))) {
+ mp = getm(cp, NULL, 0, AD_HOST, NULL);
+ (*element)->m_next = mp;
+ *element = mp;
+ i++;
+ }
+
+ (*element)->m_next = next;
+ return i;
+}