+ mp = &mq;
+ oops = 0;
+ while ((cp = getname(am))) {
+ if ((mp->m_next = getm(cp, NULL, 0, AD_NAME, NULL)) == NULL) {
+ admonish(NULL, "illegal address: %s", cp);
+ oops++;
+ } else {
+ mp = mp->m_next;
+ mp->m_type = W_NIL;
+ if (*mp->m_mbox == '*') {
+ mp->m_type |= W_MBEG;
+ mp->m_mbox++;
+ }
+ if (*(cp = mp->m_mbox + strlen(mp->m_mbox) - 1) == '*') {
+ mp->m_type |= W_MEND;
+ *cp = '\0';
+ }
+ if (mp->m_host) {
+ if (*mp->m_host == '*') {
+ mp->m_type |= W_HBEG;
+ mp->m_host++;
+ }
+ if (*(cp = mp->m_host + strlen(mp->m_host) - 1) == '*') {
+ mp->m_type |= W_HEND;
+ *cp = '\0';
+ }
+ }
+ if ((cp = getenv("MHWDEBUG")) && *cp) {
+ fprintf(stderr, "mbox=\"%s\" host=\"%s\" %s\n",
+ mp->m_mbox, mp->m_host,
+ snprintb(buffer, sizeof(buffer), (unsigned) mp->m_type, WBITS));
+ }
+ }
+ }
+ if (oops != 0) {
+ advise(NULL, "please fix the profile entry %s",
+ "alternate-mailboxes");
+ }
+ }
+
+ if ((cp = context_find("Default-From")) != NULL) {
+ int i = 0;
+ char *cp2;
+ oops = 0;
+
+ while ((cp2 = getname(cp)) != NULL) {
+ i++;
+ if ((mp->m_next = getm(cp2, NULL, 0, AD_NAME, NULL)) == NULL) {
+ admonish(NULL, "illegal address: %s", cp);
+ oops++;
+ } else {
+ mp = mp->m_next;
+ if ((cp = getenv("MHWDEBUG")) && *cp) {
+ fprintf(stderr, "mbox=\"%s\" host=\"%s\" %s\n",
+ mp->m_mbox, mp->m_host,
+ snprintb(buffer, sizeof(buffer), (unsigned) mp->m_type, WBITS));
+ }
+ }
+