X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/da35ab7c7664b221aba2d761d0f051c57313e16e..d2520ac7054ad75d60342606bf13c821305d958c:/uip/mhparam.c diff --git a/uip/mhparam.c b/uip/mhparam.c index a1ca28f7..bf59b60e 100644 --- a/uip/mhparam.c +++ b/uip/mhparam.c @@ -11,6 +11,7 @@ */ #include +#include #define MHPARAM_SWITCHES \ X("components", 0, COMPSW) \ @@ -31,21 +32,48 @@ DEFINE_SWITCH_ARRAY(MHPARAM, switches); 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" +static char *sbackup = BACKUP_PREFIX; + +static char *datalocking = "fcntl"; +static char *localmbox = ""; +static int localmbox_primed = 0; + +extern char *spoollocking; + +static char *sasl = +#ifdef CYRUS_SASL + "cyrus_sasl"; +#else + ""; +#endif + +static char *tls = +#ifdef TLS_SUPPORT + "tls"; #else - "none" + ""; +#endif + +static char *mimetypeproc = +#ifdef MIMETYPEPROC + MIMETYPEPROC; +#else + ""; +#endif + +static char *mimeencodingproc = +#ifdef MIMEENCODINGPROC + MIMEENCODINGPROC; +#else + ""; +#endif + +static char *iconv = +#ifdef HAVE_ICONV + "iconv"; +#else + ""; #endif - ; struct proc { char *p_name; @@ -53,34 +81,41 @@ struct proc { }; 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 }, - { "lockmethod", &lockmethod }, - { 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 }, + { "localmbox", &localmbox }, + { "sbackup", &sbackup }, + { "datalocking", &datalocking }, + { "spoollocking", &spoollocking }, + { "iconv", &iconv }, + { "sasl", &sasl }, + { "tls", &tls }, + { NULL, NULL }, }; @@ -99,10 +134,7 @@ main(int argc, char **argv) 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; @@ -142,6 +174,10 @@ main(int argc, char **argv) } } else { comps[compp++] = cp; + if (strcmp("localmbox", cp) == 0 && ! localmbox_primed) { + localmbox = getlocalmbox(); + localmbox_primed = 1; + } } } @@ -162,6 +198,15 @@ main(int argc, char **argv) } else if (debug) { struct proc *ps; + /* 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 @@ -189,7 +234,7 @@ main(int argc, char **argv) missed++; } } - + done (missed); return 1; }