X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/9e2dbb033282c4b408061ed1d1da9c88f87d0cfe..3441b5648a0c21e067c05f428a51bf96352735e7:/uip/mhparam.c diff --git a/uip/mhparam.c b/uip/mhparam.c index 90d17fa2..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; @@ -42,12 +70,10 @@ static struct proc procs [] = { { "context", &context }, { "mh-sequences", &mh_seq }, { "buildmimeproc", &buildmimeproc }, - { "faceproc", &faceproc }, { "fileproc", &fileproc }, { "foldprot", &foldprot }, { "formatproc", &formatproc }, { "incproc", &incproc }, - { "installproc", &installproc }, { "lproc", &lproc }, { "mailproc", &mailproc }, { "mhlproc", &mhlproc }, @@ -67,6 +93,9 @@ static struct proc procs [] = { { "etcdir", &mhetcdir }, { "libdir", &mhlibdir }, { "sbackup", &sbackup }, + { "lockmethod", &lockmethod }, + { "sasl", &sasl }, + { "tls", &tls }, { NULL, NULL }, }; @@ -107,10 +136,10 @@ main(int argc, char **argv) snprintf (buf, sizeof(buf), "%s [profile-components] [switches]", invo_name); print_help (buf, switches, 1); - done (1); + done (0); case VERSIONSW: print_version(invo_name); - done (1); + done (0); case COMPSW: components = 1; @@ -188,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;