X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/b9e0388a118e84f002ae0da6c7a31bdbd89a73bb..04ee0c3f6ad7e4177cc43a0c57f046013a4fbac9:/uip/mhparam.c diff --git a/uip/mhparam.c b/uip/mhparam.c index f6daf9a5..6db9b3ad 100644 --- a/uip/mhparam.c +++ b/uip/mhparam.c @@ -1,6 +1,4 @@ - -/* - * mhparam.c -- print mh_profile values +/* mhparam.c -- print mh_profile values * * Originally contributed by * Jeffrey C Honig @@ -10,8 +8,13 @@ * complete copyright information. */ -#include -#include +#include "h/mh.h" +#include "sbr/print_version.h" +#include "sbr/print_help.h" +#include "sbr/error.h" +#include "h/mts.h" +#include "h/done.h" +#include "h/utils.h" #define MHPARAM_SWITCHES \ X("components", 0, COMPSW) \ @@ -30,14 +33,15 @@ DEFINE_SWITCH_ARRAY(MHPARAM, switches); #undef X extern char *mhbindir; -extern char *mhetcdir; extern char *mhlibexecdir; +extern char *mhetcdir; +extern char *mhdocdir; static char *sbackup = BACKUP_PREFIX; static char *datalocking = "fcntl"; static char *localmbox = ""; -static int localmbox_primed = 0; +static bool localmbox_primed; extern char *spoollocking; @@ -113,9 +117,9 @@ static struct proc procs [] = { { "whatnowproc", &whatnowproc }, { "whomproc", &whomproc }, { "bindir", &mhbindir }, - { "etcdir", &mhetcdir }, - { "libdir", &mhlibexecdir }, { "libexecdir", &mhlibexecdir }, + { "etcdir", &mhetcdir }, + { "docdir", &mhdocdir }, { "localmbox", &localmbox }, { "sbackup", &sbackup }, { "datalocking", &datalocking }, @@ -131,19 +135,21 @@ static struct proc procs [] = { /* * static prototypes */ -static char *p_find(char *); +static char *p_find(char *) PURE; int main(int argc, char **argv) { - int i, compp = 0, missed = 0; - int all = 0, debug = 0; + int i, compp = 0; + bool missed; + bool all = false; + bool debug = false; int components = -1; char *cp, buf[BUFSIZ], **argp; char **arguments, *comps[MAXARGS]; - if (nmh_init(argv[0], 1)) { return 1; } + if (nmh_init(argv[0], true, false)) { return 1; } arguments = getarguments (invo_name, argc, argv, 1); argp = arguments; @@ -155,7 +161,7 @@ main(int argc, char **argv) ambigsw (cp, switches); done (1); case UNKWNSW: - adios (NULL, "-%s unknown", cp); + die("-%s unknown", cp); case HELPSW: snprintf (buf, sizeof(buf), "%s [profile-components] [switches]", @@ -174,18 +180,18 @@ main(int argc, char **argv) break; case ALLSW: - all = 1; + all = true; break; case DEBUGSW: - debug = 1; + debug = true; break; } } else { comps[compp++] = cp; if (strcmp("localmbox", cp) == 0 && ! localmbox_primed) { localmbox = getlocalmbox(); - localmbox_primed = 1; + localmbox_primed = true; } } } @@ -194,10 +200,10 @@ main(int argc, char **argv) struct node *np; if (compp) - advise(NULL, "profile-components ignored with -all"); + inform("profile-components ignored with -all"); if (components >= 0) - advise(NULL, "-%scomponents ignored with -all", + inform("-%scomponents ignored with -all", components ? "" : "no"); /* Print all entries in context/profile list. That does not @@ -205,19 +211,21 @@ main(int argc, char **argv) for (np = m_defs; np; np = np->n_next) printf("%s: %s\n", np->n_name, np->n_field); - } else if (debug) { + } + + if (debug) { struct proc *ps; /* In case datalocking was set in profile. */ if ((cp = context_find("datalocking"))) { datalocking = cp; } /* In case spoollocking was set in mts.conf. */ - mts_init(invo_name); + mts_init(); /* Also set localmbox here */ if (! localmbox_primed) { localmbox = getlocalmbox(); - localmbox_primed = 1; + localmbox_primed = true; } /* @@ -226,18 +234,21 @@ main(int argc, char **argv) * value (as determined after context is read). */ for (ps = procs; ps->p_name; ps++) - printf ("%s: %s\n", ps->p_name, *ps->p_field ? *ps->p_field : ""); + printf ("%s: %s\n", ps->p_name, FENDNULL(*ps->p_field)); + + } - } else { + missed = false; + if (! all) { if (components < 0) components = compp > 1; for (i = 0; i < compp; i++) { - register char *value; + char *value; if (! strcmp ("spoollocking", comps[i])) { /* In case spoollocking was set in mts.conf. */ - mts_init(invo_name); + mts_init(); } value = context_find (comps[i]); @@ -247,14 +258,13 @@ main(int argc, char **argv) if (components) printf("%s: ", comps[i]); - printf("%s\n", value); + puts(value); } else - missed++; + missed = true; } } - done (missed); - return 1; + done(missed); } @@ -264,8 +274,8 @@ p_find(char *str) struct proc *ps; for (ps = procs; ps->p_name; ps++) - if (!strcasecmp (ps->p_name, str ? str : "")) - return (*ps->p_field); + if (!strcasecmp (ps->p_name, str)) + return *ps->p_field; return NULL; }