]> diplodocus.org Git - nmh/blobdiff - uip/mhparam.c
Remove unused NCWD and NPWD #defines.
[nmh] / uip / mhparam.c
index 8a276f72402b50ef0a5200903fe74314fc38fb0a..55ac3c313a8b6c2b6db0fc929daed62444202e36 100644 (file)
@@ -11,6 +11,7 @@
  */
 
 #include <h/mh.h>
+#include <h/mts.h>
 
 #define MHPARAM_SWITCHES \
     X("components", 0, COMPSW) \
@@ -28,53 +29,61 @@ DEFINE_SWITCH_ENUM(MHPARAM);
 DEFINE_SWITCH_ARRAY(MHPARAM, switches);
 #undef X
 
-extern char *mhlibdir;
+extern char *mhbindir;
+extern char *mhlibexecdir;
 extern char *mhetcdir;
+extern char *mhdocdir;
 
-char *sbackup = BACKUP_PREFIX;
-
-char *lockmethod =
-#if defined FCNTL_LOCKING
-    "fcntl"
-#elif defined FLOCK_LOCKING
-    "flock"
-#elif defined LOCKF_LOCKING
-    "lockf"
-#elif defined DOT_LOCKING
-    "dot"
-#else
-    "none"
-#endif
-    ;
+static char *sbackup = BACKUP_PREFIX;
+
+static char *datalocking = "fcntl";
+static char *localmbox = "";
+static int localmbox_primed = 0;
 
-char *sasl =
+extern char *spoollocking;
+
+static char *sasl =
 #ifdef CYRUS_SASL
     "cyrus_sasl";
 #else
     "";
 #endif
 
-char *tls =
+static char *tls =
 #ifdef TLS_SUPPORT
     "tls";
 #else
     "";
 #endif
 
-char *mimetypeproc =
+static char *mimetypeproc =
 #ifdef MIMETYPEPROC
     MIMETYPEPROC;
 #else
     "";
 #endif
 
-char *mimeencodingproc =
+static char *mimeencodingproc =
 #ifdef MIMEENCODINGPROC
     MIMEENCODINGPROC;
 #else
     "";
 #endif
 
+static char *iconv =
+#ifdef HAVE_ICONV
+    "iconv";
+#else
+    "";
+#endif
+
+static char *oauth =
+#ifdef OAUTH_SUPPORT
+    "oauth";
+#else
+    "";
+#endif
+
 struct proc {
     char *p_name;
     char **p_field;
@@ -95,7 +104,6 @@ static struct proc procs [] = {
      { "mimeencodingproc", &mimeencodingproc },
      { "moreproc",         &moreproc },
      { "msgprot",          &msgprot },
-     { "mshproc",          &mshproc },
      { "packproc",         &packproc },
      { "postproc",         &postproc },
      { "rmmproc",          &rmmproc },
@@ -103,13 +111,19 @@ static struct proc procs [] = {
      { "showmimeproc",     &showmimeproc },
      { "showproc",         &showproc },
      { "version",          &version_num },
-     { "vmhproc",          &vmhproc },
      { "whatnowproc",      &whatnowproc },
      { "whomproc",         &whomproc },
+     { "bindir",           &mhbindir },
+     { "libexecdir",       &mhlibexecdir },
+     { "libdir",           &mhlibexecdir },
      { "etcdir",           &mhetcdir },
-     { "libdir",           &mhlibdir },
+     { "docdir",           &mhdocdir },
+     { "localmbox",       &localmbox },
      { "sbackup",          &sbackup },
-     { "lockmethod",       &lockmethod },
+     { "datalocking",      &datalocking },
+     { "spoollocking",     &spoollocking },
+     { "iconv",                   &iconv },
+     { "oauth",                   &oauth },
      { "sasl",             &sasl },
      { "tls",              &tls },
      { NULL,               NULL },
@@ -131,7 +145,7 @@ main(int argc, char **argv)
     char *cp, buf[BUFSIZ], **argp;
     char **arguments, *comps[MAXARGS];
 
-    if (nmh_init(argv[0], 1)) { return 1; }
+    if (nmh_init(argv[0], 2)) { return 1; }
 
     arguments = getarguments (invo_name, argc, argv, 1);
     argp = arguments;
@@ -171,6 +185,10 @@ main(int argc, char **argv)
            }
        } else {
            comps[compp++] = cp;
+           if (strcmp("localmbox", cp) == 0 && ! localmbox_primed) {
+               localmbox = getlocalmbox();
+               localmbox_primed = 1;
+           }
        }
     }
 
@@ -184,13 +202,26 @@ main(int argc, char **argv)
            advise(NULL, "-%scomponents ignored with -all",
                   components ? "" : "no");
 
-       /* print all entries in context/profile list */
+       /* Print all entries in context/profile list.  That does not
+          include entries in mts.conf, such as spoollocking. */
        for (np = m_defs; np; np = np->n_next)
            printf("%s: %s\n", np->n_name, np->n_field);
 
     } else if (debug) {
        struct proc *ps;
 
+       /* In case datalocking was set in profile. */
+       if ((cp = context_find("datalocking"))) { datalocking = cp; }
+
+       /* In case spoollocking was set in mts.conf. */
+       mts_init();
+
+       /* Also set localmbox here */
+       if (! localmbox_primed) {
+           localmbox = getlocalmbox();
+           localmbox_primed = 1;
+       }
+
        /*
         * Print the current value of everything in
         * procs array.  This will show their current
@@ -204,7 +235,12 @@ main(int argc, char **argv)
            components = compp > 1;
 
        for (i = 0; i < compp; i++)  {
-           register char *value;
+           char *value;
+
+           if (! strcmp ("spoollocking", comps[i])) {
+               /* In case spoollocking was set in mts.conf. */
+               mts_init();
+            }
 
            value = context_find (comps[i]);
            if (!value)
@@ -218,7 +254,7 @@ main(int argc, char **argv)
                missed++;
        }
     }
-    
+
     done (missed);
     return 1;
 }
@@ -229,8 +265,10 @@ p_find(char *str)
 {
     struct proc *ps;
 
+    if (!str)
+        str = "";
     for (ps = procs; ps->p_name; ps++)
-       if (!strcasecmp (ps->p_name, str ? str : ""))
+       if (!strcasecmp (ps->p_name, str))
            return (*ps->p_field);
 
     return NULL;