Removed the mhlproc profile entry. Call mhl directly.
[mmh] / sbr / readconfig.c
index 5db7920..71fff7a 100644 (file)
@@ -1,11 +1,11 @@
 /*
- * readconfig.c -- base routine to read nmh configuration files
- *              -- such as nmh profile, context file, or mhn.defaults.
- *
- * This code is Copyright (c) 2002, by the authors of nmh.  See the
- * COPYRIGHT file in the root directory of the nmh distribution for
- * complete copyright information.
- */
+** readconfig.c -- base routine to read nmh configuration files
+**              -- such as nmh profile, context file, or mhn.defaults.
+**
+** This code is Copyright (c) 2002, by the authors of nmh.  See the
+** COPYRIGHT file in the root directory of the nmh distribution for
+** complete copyright information.
+*/
 
 #include <h/mh.h>
 #include <h/utils.h>
@@ -16,28 +16,19 @@ struct procstr {
 };
 
 static struct procstr procs[] = {
+       { "attachment-header",  &attach_hdr },
        { "context",       &context },
        { "mh-sequences",  &mh_seq },
        { "backup-prefix", &backup_prefix },
        { "draft-folder",  &draftfolder },
        { "altmsg-link",   &altmsglink },
-       { "buildmimeproc", &buildmimeproc },
-       { "faceproc",      &faceproc },
        { "fileproc",      &fileproc },
-       { "incproc",       &incproc },
-       { "installproc",   &installproc },
-       { "lproc",         &lproc },
+       { "listproc",      &listproc },
        { "mailproc",      &mailproc },
-       { "mhlproc",       &mhlproc },
-       { "moreproc",      &moreproc },
-       { "packproc",      &packproc },
        { "postproc",      &postproc },
-       { "rmfproc",       &rmfproc },
        { "rmmproc",       &rmmproc },
        { "sendmail",      &sendmail },
        { "sendproc",      &sendproc },
-       { "showmimeproc",  &showmimeproc },
-       { "showproc",      &showproc },
        { "whatnowproc",   &whatnowproc },
        { NULL, NULL }
 };
@@ -46,7 +37,7 @@ static struct node **opp = NULL;
 
 
 void
-readconfig (struct node **npp, FILE *ib, char *file, int ctx)
+readconfig(struct node **npp, FILE *ib, char *file, int ctx)
 {
        register int state;
        register char *cp;
@@ -55,54 +46,58 @@ readconfig (struct node **npp, FILE *ib, char *file, int ctx)
        register struct procstr *ps;
 
        if (npp == NULL && (npp = opp) == NULL) {
-               admonish (NULL, "bug: readconfig called but pump not primed");
+               admonish(NULL, "bug: readconfig called but pump not primed");
                return;
        }
 
        for (state = FLD;;) {
-               switch (state = m_getfld (state, name, field, sizeof(field), ib)) {
-                       case FLD:
-                       case FLDPLUS:
-                       case FLDEOF:
-                               np = (struct node *) mh_xmalloc (sizeof(*np));
-                               *npp = np;
-                               *(npp = &np->n_next) = NULL;
-                               np->n_name = getcpy (name);
-                               if (state == FLDPLUS) {
-                                       cp = getcpy (field);
-                                       while (state == FLDPLUS) {
-                                               state = m_getfld (state, name, field, sizeof(field), ib);
-                                               cp = add (field, cp);
-                                       }
-                                       np->n_field = trimcpy (cp);
-                                       free (cp);
-                               } else {
-                                       np->n_field = trimcpy (field);
+               switch (state = m_getfld(state, name, field, sizeof(field),
+                               ib)) {
+               case FLD:
+               case FLDPLUS:
+               case FLDEOF:
+                       np = (struct node *) mh_xmalloc(sizeof(*np));
+                       *npp = np;
+                       *(npp = &np->n_next) = NULL;
+                       np->n_name = getcpy(name);
+                       if (state == FLDPLUS) {
+                               cp = getcpy(field);
+                               while (state == FLDPLUS) {
+                                       state = m_getfld(state, name, field,
+                                                       sizeof(field), ib);
+                                       cp = add(field, cp);
                                }
-                               np->n_context = ctx;
+                               np->n_field = trimcpy(cp);
+                               free(cp);
+                       } else {
+                               np->n_field = trimcpy(field);
+                       }
+                       np->n_context = ctx;
 
-                               /*
-                                * Now scan the list of `procs' and link in the
-                                * field value to the global variable.
-                                */
-                               for (ps = procs; ps->procname; ps++)
-                                       if (strcmp (np->n_name, ps->procname) == 0) {
-                                               *ps->procnaddr = np->n_field;
-                                               break;
-                                       }
-                               if (state == FLDEOF)
+                       /*
+                       ** Now scan the list of `procs' and link in
+                       ** the field value to the global variable.
+                       */
+                       for (ps = procs; ps->procname; ps++)
+                               if (mh_strcasecmp(np->n_name,
+                                               ps->procname) == 0) {
+                                       *ps->procnaddr = np->n_field;
                                        break;
-                               continue;
+                               }
+                       if (state == FLDEOF)
+                               break;
+                       continue;
 
-                       case BODY:
-                       case BODYEOF:
-                               adios (NULL, "no blank lines are permitted in %s", file);
+               case BODY:
+               case BODYEOF:
+                       adios(NULL, "no blank lines are permitted in %s",
+                                       file);
 
-                       case FILEEOF:
-                               break;
+               case FILEEOF:
+                       break;
 
-                       default:
-                               adios (NULL, "%s is poorly formatted", file);
+               default:
+                       adios(NULL, "%s is poorly formatted", file);
                }
                break;
        }