]> diplodocus.org Git - nmh/blobdiff - uip/prompter.c
mhbuild.c, mhbuildsbr.c: Replace three global ints with bools.
[nmh] / uip / prompter.c
index 5c4926a0078c57638c022f0e728c307bb85c5acc..1564852d747e9547faf77388e9616300eea3fc4e 100644 (file)
@@ -8,8 +8,9 @@
 #include <h/mh.h>
 #include <fcntl.h>
 #include <h/signals.h>
+#include "h/done.h"
 #include <h/utils.h>
-#include "../sbr/m_mktemp.h"
+#include "sbr/m_mktemp.h"
 #include <setjmp.h>
 
 #include <termios.h>
@@ -40,7 +41,7 @@ DEFINE_SWITCH_ARRAY(PROMPTER, switches);
 
 static struct termios tio;
 
-static int wtuser = 0;
+static bool wtuser;
 static int sigint = 0;
 static jmp_buf sigenv;
 
@@ -66,7 +67,7 @@ main (int argc, char **argv)
     char *tmpfil;
     m_getfld_state_t gstate;
 
-    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;
@@ -78,7 +79,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 (buffer, sizeof(buffer), "%s [switches] file",
@@ -91,11 +92,11 @@ main (int argc, char **argv)
 
                case ERASESW: 
                    if (!(erasep = *argp++) || *erasep == '-')
-                       adios (NULL, "missing argument to %s", argp[-2]);
+                       die("missing argument to %s", argp[-2]);
                    continue;
                case KILLSW: 
                    if (!(killp = *argp++) || *killp == '-')
-                       adios (NULL, "missing argument to %s", argp[-2]);
+                       die("missing argument to %s", argp[-2]);
                    continue;
 
                case PREPSW: 
@@ -132,12 +133,12 @@ main (int argc, char **argv)
        }
 
     if (!drft)
-       adios (NULL, "usage: %s [switches] file", invo_name);
+       die("usage: %s [switches] file", invo_name);
     if ((in = fopen (drft, "r")) == NULL)
        adios (drft, "unable to open");
 
     if ((tmpfil = m_mktemp2(NULL, invo_name, NULL, &out)) == NULL) {
-       adios(NULL, "unable to create temporary file in %s", get_temp_dir());
+       die("unable to create temporary file in %s", get_temp_dir());
     }
 
     /*
@@ -243,7 +244,7 @@ abort:
                    puts("--------");
                if (field[0]) {
                    if (prepend && body) {
-                       printf ("\n--------Enter initial text\n\n");
+                       puts("\n--------Enter initial text\n");
                        fflush (stdout);
                        for (;;) {
                            getln (buffer, sizeof(buffer));
@@ -264,8 +265,7 @@ abort:
                             state = m_getfld2(&gstate, name, field, &fieldsz)));
                    if (prepend || !body)
                        break;
-                   else
-                       printf ("\n--------Enter additional text\n\n");
+                    puts("\n--------Enter additional text\n");
                }
 
                fflush (stdout);
@@ -280,7 +280,7 @@ abort:
                break;
 
            default: 
-               adios (NULL, "skeleton is poorly formatted");
+               die("skeleton is poorly formatted");
        }
        break;
     }
@@ -318,21 +318,21 @@ getln (char *buffer, int n)
 {
     int c;
     char *cp;
-    static int quoting = 0;
+    static bool quoting;
 
     *buffer = 0;
 
     switch (setjmp (sigenv)) {
        case OK: 
-           wtuser = 1;
+           wtuser = true;
            break;
 
        case DONE: 
-           wtuser = 0;
+           wtuser = false;
            return 0;
 
        default: 
-           wtuser = 0;
+           wtuser = false;
            return NOTOK;
     }
 
@@ -342,27 +342,27 @@ getln (char *buffer, int n)
     for (;;) {
        switch (c = getchar ()) {
            case EOF: 
-               quoting = 0;
+               quoting = false;
                clearerr (stdin);
                longjmp (sigenv, DONE);
 
            case '\n': 
                if (quoting) {
                    *(cp - 1) = c;
-                   quoting = 0;
-                   wtuser = 0;
+                   quoting = false;
+                   wtuser = false;
                    return 1;
                }
                *cp++ = c;
                *cp = 0;
-               wtuser = 0;
+               wtuser = false;
                return 0;
 
            default: 
                if (c == QUOTE) {
-                   quoting = 1;
+                   quoting = true;
                } else {
-                   quoting = 0;
+                   quoting = false;
                }
                if (cp < buffer + n)
                    *cp++ = c;
@@ -386,7 +386,7 @@ intrser (int i)
 static int
 chrcnv (char *cp)
 {
-    return (*cp != QUOTE ? *cp : m_atoi (++cp));
+    return *cp != QUOTE ? *cp : m_atoi(++cp);
 }