]> diplodocus.org Git - nmh/blobdiff - uip/mhparam.c
Use rename(2), not link(2), in m_mktemps() if mkstemps() is not
[nmh] / uip / mhparam.c
index c4b0af2efbb2091d4c945515f8421b48e01e1807..8a276f72402b50ef0a5200903fe74314fc38fb0a 100644 (file)
 
 #include <h/mh.h>
 
 
 #include <h/mh.h>
 
-extern char *mhlibdir;
-extern char *mhetcdir;
-
-char *sbackup = BACKUP_PREFIX;
-
 #define MHPARAM_SWITCHES \
     X("components", 0, COMPSW) \
     X("nocomponents", 0, NCOMPSW) \
 #define MHPARAM_SWITCHES \
     X("components", 0, COMPSW) \
     X("nocomponents", 0, NCOMPSW) \
@@ -33,39 +28,91 @@ DEFINE_SWITCH_ENUM(MHPARAM);
 DEFINE_SWITCH_ARRAY(MHPARAM, switches);
 #undef X
 
 DEFINE_SWITCH_ARRAY(MHPARAM, switches);
 #undef X
 
+extern char *mhlibdir;
+extern char *mhetcdir;
+
+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
+    ;
+
+char *sasl =
+#ifdef CYRUS_SASL
+    "cyrus_sasl";
+#else
+    "";
+#endif
+
+char *tls =
+#ifdef TLS_SUPPORT
+    "tls";
+#else
+    "";
+#endif
+
+char *mimetypeproc =
+#ifdef MIMETYPEPROC
+    MIMETYPEPROC;
+#else
+    "";
+#endif
+
+char *mimeencodingproc =
+#ifdef MIMEENCODINGPROC
+    MIMEENCODINGPROC;
+#else
+    "";
+#endif
+
 struct proc {
     char *p_name;
     char **p_field;
 };
 
 static struct proc procs [] = {
 struct proc {
     char *p_name;
     char **p_field;
 };
 
 static struct proc procs [] = {
-     { "context",       &context },
-     { "mh-sequences",  &mh_seq },
-     { "buildmimeproc", &buildmimeproc },
-     { "fileproc",      &fileproc },
-     { "foldprot",      &foldprot },
-     { "formatproc",   &formatproc },
-     { "incproc",       &incproc },
-     { "lproc",         &lproc },
-     { "mailproc",      &mailproc },
-     { "mhlproc",       &mhlproc },
-     { "moreproc",      &moreproc },
-     { "msgprot",       &msgprot },
-     { "mshproc",       &mshproc },
-     { "packproc",      &packproc },
-     { "postproc",      &postproc },
-     { "rmmproc",       &rmmproc },
-     { "sendproc",      &sendproc },
-     { "showmimeproc",  &showmimeproc },
-     { "showproc",      &showproc },
-     { "version",       &version_num },
-     { "vmhproc",       &vmhproc },
-     { "whatnowproc",   &whatnowproc },
-     { "whomproc",      &whomproc },
-     { "etcdir",        &mhetcdir },
-     { "libdir",        &mhlibdir },
-     { "sbackup",       &sbackup },
-     { NULL,            NULL },
+     { "context",          &context },
+     { "mh-sequences",     &mh_seq },
+     { "buildmimeproc",    &buildmimeproc },
+     { "fileproc",         &fileproc },
+     { "foldprot",         &foldprot },
+     { "formatproc",      &formatproc },
+     { "incproc",          &incproc },
+     { "lproc",            &lproc },
+     { "mailproc",         &mailproc },
+     { "mhlproc",          &mhlproc },
+     { "mimetypeproc",     &mimetypeproc },
+     { "mimeencodingproc", &mimeencodingproc },
+     { "moreproc",         &moreproc },
+     { "msgprot",          &msgprot },
+     { "mshproc",          &mshproc },
+     { "packproc",         &packproc },
+     { "postproc",         &postproc },
+     { "rmmproc",          &rmmproc },
+     { "sendproc",         &sendproc },
+     { "showmimeproc",     &showmimeproc },
+     { "showproc",         &showproc },
+     { "version",          &version_num },
+     { "vmhproc",          &vmhproc },
+     { "whatnowproc",      &whatnowproc },
+     { "whomproc",         &whomproc },
+     { "etcdir",           &mhetcdir },
+     { "libdir",           &mhlibdir },
+     { "sbackup",          &sbackup },
+     { "lockmethod",       &lockmethod },
+     { "sasl",             &sasl },
+     { "tls",              &tls },
+     { NULL,               NULL },
 };
 
 
 };
 
 
@@ -84,10 +131,7 @@ main(int argc, char **argv)
     char *cp, buf[BUFSIZ], **argp;
     char **arguments, *comps[MAXARGS];
 
     char *cp, buf[BUFSIZ], **argp;
     char **arguments, *comps[MAXARGS];
 
-    invo_name = r1bindex (argv[0], '/');
-
-    /* read user profile/context */
-    context_read();
+    if (nmh_init(argv[0], 1)) { return 1; }
 
     arguments = getarguments (invo_name, argc, argv, 1);
     argp = arguments;
 
     arguments = getarguments (invo_name, argc, argv, 1);
     argp = arguments;
@@ -186,7 +230,7 @@ p_find(char *str)
     struct proc *ps;
 
     for (ps = procs; ps->p_name; ps++)
     struct proc *ps;
 
     for (ps = procs; ps->p_name; ps++)
-       if (!mh_strcasecmp (ps->p_name, str))
+       if (!strcasecmp (ps->p_name, str ? str : ""))
            return (*ps->p_field);
 
     return NULL;
            return (*ps->p_field);
 
     return NULL;