X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/b5d9d6e4b1b05797ad7b2d86bdaf7cbf86d5e3da..3441b5648a0c21e067c05f428a51bf96352735e7:/uip/mhparam.c?ds=sidebyside diff --git a/uip/mhparam.c b/uip/mhparam.c index 53a25238..9da7ba13 100644 --- a/uip/mhparam.c +++ b/uip/mhparam.c @@ -12,26 +12,54 @@ #include +#define MHPARAM_SWITCHES \ + X("components", 0, COMPSW) \ + X("nocomponents", 0, NCOMPSW) \ + X("all", 0, ALLSW) \ + X("version", 0, VERSIONSW) \ + X("help", 0, HELPSW) \ + X("debug", 5, DEBUGSW) \ + +#define X(sw, minchars, id) id, +DEFINE_SWITCH_ENUM(MHPARAM); +#undef X + +#define X(sw, minchars, id) { sw, minchars, id }, +DEFINE_SWITCH_ARRAY(MHPARAM, switches); +#undef X + extern char *mhlibdir; extern char *mhetcdir; char *sbackup = BACKUP_PREFIX; -static struct swit switches[] = { -#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 }, -#define DEBUGSW 5 - { "debug", -5 }, - { NULL, 0 } -}; +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 struct proc { char *p_name; @@ -46,7 +74,6 @@ static struct proc procs [] = { { "foldprot", &foldprot }, { "formatproc", &formatproc }, { "incproc", &incproc }, - { "installproc", &installproc }, { "lproc", &lproc }, { "mailproc", &mailproc }, { "mhlproc", &mhlproc }, @@ -66,6 +93,9 @@ static struct proc procs [] = { { "etcdir", &mhetcdir }, { "libdir", &mhlibdir }, { "sbackup", &sbackup }, + { "lockmethod", &lockmethod }, + { "sasl", &sasl }, + { "tls", &tls }, { NULL, NULL }, }; @@ -187,7 +217,7 @@ p_find(char *str) 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;