X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/017a82124bf2ea39ced5aa4c8f969c18b3c2fb90..50c8114d791602fcc427c6dc94b55f3226e8a21d:/uip/mhparam.c diff --git a/uip/mhparam.c b/uip/mhparam.c index ece8c3c1..a1ca28f7 100644 --- a/uip/mhparam.c +++ b/uip/mhparam.c @@ -5,32 +5,47 @@ * Originally contributed by * Jeffrey C Honig * - * $Id$ + * This code is Copyright (c) 2002, by the authors of nmh. See the + * COPYRIGHT file in the root directory of the nmh distribution for + * complete copyright information. */ #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; -char *slink = LINK; - -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 + ; struct proc { char *p_name; @@ -41,11 +56,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 }, @@ -54,7 +68,6 @@ static struct proc procs [] = { { "mshproc", &mshproc }, { "packproc", &packproc }, { "postproc", &postproc }, - { "rmfproc", &rmfproc }, { "rmmproc", &rmmproc }, { "sendproc", &sendproc }, { "showmimeproc", &showmimeproc }, @@ -66,7 +79,7 @@ static struct proc procs [] = { { "etcdir", &mhetcdir }, { "libdir", &mhlibdir }, { "sbackup", &sbackup }, - { "link", &slink }, + { "lockmethod", &lockmethod }, { NULL, NULL }, }; @@ -107,10 +120,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; @@ -146,7 +159,7 @@ main(int argc, char **argv) for (np = m_defs; np; np = np->n_next) printf("%s: %s\n", np->n_name, np->n_field); - } if (debug) { + } else if (debug) { struct proc *ps; /* @@ -177,7 +190,8 @@ main(int argc, char **argv) } } - return done (missed); + done (missed); + return 1; } @@ -187,7 +201,7 @@ p_find(char *str) struct proc *ps; for (ps = procs; ps->p_name; ps++) - if (!strcasecmp (ps->p_name, str)) + if (!strcasecmp (ps->p_name, str ? str : "")) return (*ps->p_field); return NULL;