]> diplodocus.org Git - nmh/blobdiff - uip/mhparam.c
eliminate use of fgets() in mhparse.c
[nmh] / uip / mhparam.c
index 325a1a34fdd7782ce5a37e39bfc83f8b26334c79..bb2f7d2fea64fae48670d33166c409146bd1741a 100644 (file)
@@ -11,6 +11,7 @@
  */
 
 #include <h/mh.h>
+#include <h/mts.h>
 
 #define MHPARAM_SWITCHES \
     X("components", 0, COMPSW) \
@@ -31,40 +32,49 @@ DEFINE_SWITCH_ARRAY(MHPARAM, switches);
 extern char *mhlibdir;
 extern char *mhetcdir;
 
-char *sbackup = BACKUP_PREFIX;
+static char *sbackup = BACKUP_PREFIX;
 
-char *datalocking = "fcntl";
+static char *datalocking = "fcntl";
+static char *localmbox = "";
+static int localmbox_primed = 0;
 
 extern char *spoollocking;
 
-char *sasl =
+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
+
 struct proc {
     char *p_name;
     char **p_field;
@@ -85,7 +95,6 @@ static struct proc procs [] = {
      { "mimeencodingproc", &mimeencodingproc },
      { "moreproc",         &moreproc },
      { "msgprot",          &msgprot },
-     { "mshproc",          &mshproc },
      { "packproc",         &packproc },
      { "postproc",         &postproc },
      { "rmmproc",          &rmmproc },
@@ -93,14 +102,15 @@ static struct proc procs [] = {
      { "showmimeproc",     &showmimeproc },
      { "showproc",         &showproc },
      { "version",          &version_num },
-     { "vmhproc",          &vmhproc },
      { "whatnowproc",      &whatnowproc },
      { "whomproc",         &whomproc },
      { "etcdir",           &mhetcdir },
      { "libdir",           &mhlibdir },
+     { "localmbox",       &localmbox },
      { "sbackup",          &sbackup },
      { "datalocking",      &datalocking },
      { "spoollocking",     &spoollocking },
+     { "iconv",                   &iconv },
      { "sasl",             &sasl },
      { "tls",              &tls },
      { NULL,               NULL },
@@ -162,6 +172,10 @@ main(int argc, char **argv)
            }
        } else {
            comps[compp++] = cp;
+           if (strcmp("localmbox", cp) == 0 && ! localmbox_primed) {
+               localmbox = getlocalmbox();
+               localmbox_primed = 1;
+           }
        }
     }
 
@@ -185,6 +199,12 @@ main(int argc, char **argv)
        /* Need to see if datalocking was set in profile. */
        if ((cp = context_find("datalocking"))) { datalocking = cp; }
 
+       /* 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