]> diplodocus.org Git - nmh/blobdiff - uip/mhparam.c
mhshowsbr.c: Delete single-use global int `nolist'.
[nmh] / uip / mhparam.c
index 4aadec5d14609be67bceae747f16a9d3d5b3a3f1..65082a0bd353c57ca11978fb757df6970a133b0b 100644 (file)
@@ -8,9 +8,17 @@
  * complete copyright information.
  */
 
-#include <h/mh.h>
-#include <h/mts.h>
-#include <h/utils.h>
+#include "h/mh.h"
+#include "sbr/getarguments.h"
+#include "sbr/smatch.h"
+#include "sbr/context_find.h"
+#include "sbr/ambigsw.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) \
@@ -37,7 +45,7 @@ static char *sbackup = BACKUP_PREFIX;
 
 static char *datalocking = "fcntl";
 static char *localmbox = "";
-static int localmbox_primed = 0;
+static bool localmbox_primed;
 
 extern char *spoollocking;
 
@@ -114,7 +122,6 @@ static struct proc procs [] = {
      { "whomproc",         &whomproc },
      { "bindir",           &mhbindir },
      { "libexecdir",       &mhlibexecdir },
-     { "libdir",           &mhlibexecdir },
      { "etcdir",           &mhetcdir },
      { "docdir",           &mhdocdir },
      { "localmbox",       &localmbox },
@@ -132,19 +139,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], 2)) { return 1; }
+    if (nmh_init(argv[0], true, false)) { return 1; }
 
     arguments = getarguments (invo_name, argc, argv, 1);
     argp = arguments;
@@ -156,7 +165,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]",
@@ -175,18 +184,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;
            }
        }
     }
@@ -220,7 +229,7 @@ main(int argc, char **argv)
        /* Also set localmbox here */
        if (! localmbox_primed) {
            localmbox = getlocalmbox();
-           localmbox_primed = 1;
+           localmbox_primed = true;
        }
 
        /*
@@ -233,6 +242,7 @@ main(int argc, char **argv)
 
     }
 
+    missed = false;
     if (! all) {
         if (components < 0)
            components = compp > 1;
@@ -253,13 +263,12 @@ main(int argc, char **argv)
                    printf("%s: ", comps[i]);
 
                puts(value);
-           } else if (missed < MAX_EXIT)
-               missed++;
+           } else
+                missed = true;
        }
     }
 
-    done (missed);
-    return 1;
+    done(missed);
 }
 
 
@@ -270,7 +279,7 @@ p_find(char *str)
 
     for (ps = procs; ps->p_name; ps++)
        if (!strcasecmp (ps->p_name, str))
-           return (*ps->p_field);
+           return *ps->p_field;
 
     return NULL;
 }