Removed the `mhbuild' indirection via `buildmimeproc'.
[mmh] / uip / mhparam.c
index 137a635..2d78cd9 100644 (file)
-
 /*
- * mhparam.c -- print mh_profile values
- *
- * Originally contributed by
- * Jeffrey C Honig <Jeffrey_C_Honig@cornell.edu>
- *
- * 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.
- */
+** mhparam.c -- print mh_profile values
+**
+** Originally contributed by
+** Jeffrey C Honig <Jeffrey_C_Honig@cornell.edu>
+**
+** 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>
 
-extern char *mhlibdir;
-extern char *mhetcdir;
-
 static struct swit switches[] = {
-#define        COMPSW    0
-    { "components", 0 },
-#define        NCOMPSW   1
-    { "nocomponents", 0 },
-#define        ALLSW     2
-    { "all", 0 },
+#define COMPSW  0
+       { "components", 0 },
+#define NCOMPSW  1
+       { "nocomponents", 0 },
+#define ALLSW  2
+       { "all", 0 },
 #define VERSIONSW 3
-    { "version", 0 },
-#define        HELPSW    4
-    { "help", 0 },
+       { "version", 0 },
+#define HELPSW  4
+       { "help", 0 },
 #define DEBUGSW   5
-    { "debug", -5 },
-    { NULL, 0 }
+       { "debug", -5 },
+       { NULL, 0 }
 };
 
 struct proc {
-    char *p_name;
-    char **p_field;
+       char *p_name;
+       char **p_field;
 };
 
 static struct proc procs [] = {
-     { "context",       &context },
-     { "mh-sequences",  &mh_seq },
-     { "buildmimeproc", &buildmimeproc },
-     { "editor",        &defaulteditor },
-     { "faceproc",      &faceproc },
-     { "fileproc",      &fileproc },
-     { "foldprot",      &foldprot },
-     { "incproc",       &incproc },
-     { "installproc",   &installproc  },
-     { "lproc",         &lproc },
-     { "mailproc",      &mailproc },
-     { "mhlproc",       &mhlproc },
-     { "moreproc",      &moreproc },
-     { "msgprot",       &msgprot },
-     { "mshproc",       &mshproc },
-     { "packproc",      &packproc },
-     { "postproc",      &postproc },
-     { "rmfproc",       &rmfproc },
-     { "rmmproc",       &rmmproc },
-     { "sendmail",      &sendmail },
-     { "sendproc",      &sendproc },
-     { "showmimeproc",  &showmimeproc },
-     { "showproc",      &showproc },
-     { "version",       &version_num },
-     { "vmhproc",       &vmhproc },
-     { "whatnowproc",   &whatnowproc },
-     { "whomproc",      &whomproc },
-     { "etcdir",        &mhetcdir },
-     { "libdir",        &mhlibdir },
-     { "backup-prefix", &backup_prefix },
-     { "altmsg-link",   &altmsglink },
-     { NULL,            NULL },
+       { "attachment-header",  &attach_hdr },
+       { "context",       &context },
+       { "mh-sequences",  &mh_seq },
+       { "editor",        &defaulteditor },
+       { "fileproc",      &fileproc },
+       { "foldprot",      &foldprot },
+       { "incproc",       &incproc },
+       { "lproc",         &lproc },
+       { "mailproc",      &mailproc },
+       { "mhlproc",       &mhlproc },
+       { "mimetypequeryproc", &mimetypequeryproc },
+       { "msgprot",       &msgprot },
+       { "pager",         &defaultpager },
+       { "postproc",      &postproc },
+       { "rmmproc",       &rmmproc },
+       { "sendmail",      &sendmail },
+       { "sendproc",      &sendproc },
+       { "showmimeproc",  &showmimeproc },
+       { "showproc",      &showproc },
+       { "version",       &version_num },
+       { "whatnowproc",   &whatnowproc },
+       { "etcdir",        &mhetcdir },
+       { "backup-prefix", &backup_prefix },
+       { "altmsg-link",   &altmsglink },
+       { "draft-folder",  &draftfolder },
+       { NULL,            NULL },
 };
 
 
 /*
- * static prototypes
- */
+** static prototypes
+*/
 static char *p_find(char *);
 
 
 int
 main(int argc, char **argv)
 {
-    int i, compp = 0, missed = 0;
-    int all = 0, debug = 0;
-    int components = -1;
-    char *cp, buf[BUFSIZ], **argp;
-    char **arguments, *comps[MAXARGS];
-
-    invo_name = r1bindex (argv[0], '/');
-
-    /* read user profile/context */
-    context_read();
-
-    arguments = getarguments (invo_name, argc, argv, 1);
-    argp = arguments;
-
-    while ((cp = *argp++)) {
-       if (*cp == '-') {
-           switch (smatch (++cp, switches)) {
-               case AMBIGSW: 
-                   ambigsw (cp, switches);
-                   done (1);
-               case UNKWNSW: 
-                   adios (NULL, "-%s unknown", cp);
-
-               case HELPSW: 
-                   snprintf (buf, sizeof(buf), "%s [profile-components] [switches]",
-                       invo_name);
-                   print_help (buf, switches, 1);
-                   done (1);
-               case VERSIONSW:
-                   print_version(invo_name);
-                   done (1);
-
-               case COMPSW:
-                   components = 1;
-                   break;
-               case NCOMPSW:
-                   components = 0;
-                   break;
-
-               case ALLSW:
-                   all = 1;
-                   break;
-
-               case DEBUGSW:
-                   debug = 1;
-                   break;
-           }
-       } else {
-           comps[compp++] = cp;
+       int i, compp = 0, missed = 0;
+       int all = 0, debug = 0;
+       int components = -1;
+       char *cp, buf[BUFSIZ], **argp;
+       char **arguments, *comps[MAXARGS];
+
+       invo_name = mhbasename(argv[0]);
+
+       /* read user profile/context */
+       context_read();
+
+       arguments = getarguments(invo_name, argc, argv, 1);
+       argp = arguments;
+
+       while ((cp = *argp++)) {
+               if (*cp == '-') {
+                       switch (smatch(++cp, switches)) {
+                       case AMBIGSW:
+                               ambigsw(cp, switches);
+                               done(1);
+                       case UNKWNSW:
+                               adios(NULL, "-%s unknown", cp);
+
+                       case HELPSW:
+                               snprintf(buf, sizeof(buf), "%s [profile-components] [switches]", invo_name);
+                               print_help(buf, switches, 1);
+                               done(1);
+                       case VERSIONSW:
+                               print_version(invo_name);
+                               done(1);
+
+                       case COMPSW:
+                               components = 1;
+                               break;
+                       case NCOMPSW:
+                               components = 0;
+                               break;
+
+                       case ALLSW:
+                               all = 1;
+                               break;
+
+                       case DEBUGSW:
+                               debug = 1;
+                               break;
+                       }
+               } else {
+                       comps[compp++] = cp;
+               }
        }
-    }
-
-    if (all) {
-        struct node *np;
-
-       if (compp)
-           advise(NULL, "profile-components ignored with -all");
-
-       if (components >= 0)
-           advise(NULL, "-%scomponents ignored with -all",
-                  components ? "" : "no");
 
-       /* print all entries in context/profile list */
-       for (np = m_defs; np; np = np->n_next)
-           printf("%s: %s\n", np->n_name, np->n_field);
+       if (all) {
+               struct node *np;
 
-    } else if (debug) {
-       struct proc *ps;
+               if (compp)
+                       advise(NULL, "profile-components ignored with -all");
 
-       /*
-        * Print the current value of everything in
-        * procs array.  This will show their current
-        * value (as determined after context is read).
-         */
-       for (ps = procs; ps->p_name; ps++)
-           printf ("%s: %s\n", ps->p_name, *ps->p_field ? *ps->p_field : "");
+               if (components >= 0)
+                       advise(NULL, "-%scomponents ignored with -all",
+                                       components ? "" : "no");
 
-    } else {
-        if (components < 0)
-           components = compp > 1;
+               /* print all entries in context/profile list */
+               for (np = m_defs; np; np = np->n_next)
+                       printf("%s: %s\n", np->n_name, np->n_field);
 
-       for (i = 0; i < compp; i++)  {
-           register char *value;
+       } else if (debug) {
+               struct proc *ps;
 
-           value = context_find (comps[i]);
-           if (!value)
-               value = p_find (comps[i]);
-           if (value) {
-               if (components)
-                   printf("%s: ", comps[i]);
+               /*
+               ** Print the current value of everything in
+               ** procs array.  This will show their current
+               ** value (as determined after context is read).
+               */
+               for (ps = procs; ps->p_name; ps++)
+                       printf("%s: %s\n", ps->p_name,
+                                       *ps->p_field ? *ps->p_field : "");
 
-               printf("%s\n", value);
-           } else
-               missed++;
+       } else {
+               if (components < 0)
+                       components = compp > 1;
+
+               for (i = 0; i < compp; i++)  {
+                       register char *value;
+
+                       value = context_find(comps[i]);
+                       if (!value)
+                               value = p_find(comps[i]);
+                       if (value) {
+                               if (components)
+                                       printf("%s: ", comps[i]);
+
+                               printf("%s\n", value);
+                       } else
+                               missed++;
+               }
        }
-    }
-    
-    done (missed);
-    return 1;
+
+       done(missed);
+       return 1;
 }
 
 
 static char *
 p_find(char *str)
 {
-    struct proc *ps;
+       struct proc *ps;
 
-    for (ps = procs; ps->p_name; ps++)
-       if (!mh_strcasecmp (ps->p_name, str))
-           return (*ps->p_field);
+       for (ps = procs; ps->p_name; ps++)
+               if (!mh_strcasecmp(ps->p_name, str))
+                       return (*ps->p_field);
 
-    return NULL;
+       return NULL;
 }