nmh-workers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Nmh-workers] [PATCH] Rename and document functions that read from stdin


From: Eric Gillespie
Subject: [Nmh-workers] [PATCH] Rename and document functions that read from stdin.
Date: Sun, 03 Apr 2016 19:38:50 +0000

- gans becomes read_switch
- getans becomes read_switch_multiword
- getans_via_readline becomes read_switch_multiword_via_readline
- getanswer becomes read_yes_or_no_if_tty
- install-mh.c geta becomes read_line
---
 Makefile.am          |  2 +-
 h/prototypes.h       | 54 +++++++++++++++++++++++++++++++++++++++++-----------
 sbr/ambigsw.c        |  2 +-
 sbr/context_read.c   |  2 +-
 sbr/error.c          |  6 +++---
 sbr/gans.c           |  4 ++--
 sbr/getans.c         |  2 +-
 sbr/getansreadline.c |  2 +-
 sbr/getanswer.c      |  4 ++--
 sbr/makedir.c        |  2 +-
 sbr/print_sw.c       |  2 +-
 sbr/read_line.c      | 16 ++++++++++++++++
 sbr/smatch.c         |  6 +++---
 sbr/ssequal.c        |  2 +-
 sbr/utils.c          |  2 +-
 uip/comp.c           |  3 ++-
 uip/dist.c           |  3 ++-
 uip/forw.c           |  3 ++-
 uip/inc.c            |  2 +-
 uip/install-mh.c     | 40 ++++++++++++--------------------------
 uip/mhcachesbr.c     |  2 +-
 uip/mhmisc.c         |  2 +-
 uip/mhparse.c        |  4 ++--
 uip/mhstoresbr.c     |  2 +-
 uip/packf.c          |  2 +-
 uip/repl.c           |  3 ++-
 uip/replsbr.c        |  2 +-
 uip/rmf.c            |  2 +-
 uip/send.c           |  2 +-
 uip/whatnowsbr.c     |  4 ++--
 30 files changed, 110 insertions(+), 74 deletions(-)
 create mode 100644 sbr/read_line.c

diff --git a/Makefile.am b/Makefile.am
index ec523ec..413a6e2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -582,7 +582,7 @@ sbr_libmh_a_SOURCES = sbr/addrsbr.c sbr/ambigsw.c 
sbr/atooi.c sbr/arglist.c \
                      sbr/folder_read.c sbr/folder_realloc.c sbr/gans.c \
                      sbr/getans.c sbr/getanswer.c sbr/getarguments.c \
                      sbr/getcpy.c sbr/geteditor.c sbr/getfolder.c \
-                     sbr/getpass.c \
+                     sbr/getpass.c sbr/read_line.c \
                      sbr/fmt_addr.c sbr/fmt_compile.c sbr/fmt_new.c \
                      sbr/fmt_rfc2047.c sbr/fmt_scan.c \
                      sbr/icalparse.y sbr/icalendar.l sbr/datetime.c \
diff --git a/h/prototypes.h b/h/prototypes.h
index 3399384..441863a 100644
--- a/h/prototypes.h
+++ b/h/prototypes.h
@@ -20,13 +20,13 @@ struct msgs_array;
 void add_profile_entry (const char *, const char *);
 void adios (char *, char *, ...) NORETURN;
 void admonish (char *, char *, ...);
-void advertise (char *, char *, char *, va_list);
-void advise (char *, char *, ...);
+void advertise (const char *, char *, char *, va_list);
+void advise (const char *, char *, ...);
 char **argsplit (char *, char **, int *);
 void argsplit_msgarg (struct msgs_array *, char *, char **);
 void argsplit_insert (struct msgs_array *, char *, char **);
 void arglist_free (char *, char **);
-void ambigsw (char *, struct swit *);
+void ambigsw (const char *, const struct swit *);
 int atooi(char *);
 char **brkstring (char *, char *, char *);
 
@@ -118,12 +118,44 @@ int folder_pack (struct msgs **, int);
 struct msgs *folder_read (char *name, int lockflag);
 
 struct msgs *folder_realloc (struct msgs *, int, int);
-int gans (char *, struct swit *);
-char **getans (char *, struct swit *);
+
+/*
+ * Flush standard output, read a line from standard input into a static buffer,
+ * zero out the newline, and return a pointer to the buffer.
+ * On error, return NULL.
+ */
+const char *read_line(void);
+
+/*
+ * Print null-terminated PROMPT to and flush standard output.  Read answers 
from
+ * standard input until one matches an entry in SWITCHES.  When one matches,
+ * return its swret field.  Return 0 on EOF.
+ */
+int read_switch(const char *PROMPT, const struct swit *SWITCHES);
+
+/*
+ * If standard input is not a tty, return 1 without printing anything.  Else,
+ * print null-terminated PROMPT to and flush standard output.  Read answers 
from
+ * standard input until one is "yes" or "no", returning 1 for "yes" and 0 for
+ * "no".  Also return 0 on EOF.
+ */
+int read_yes_or_no_if_tty(const char *PROMPT);
+
+/*
+ * Print null-terminated PROMPT to and flush standard output.  Read multi-word
+ * answers from standard input until a first word matches an entry in SWITCHES.
+ * When one matches, return a pointer to an array of pointers to the words.
+ * Return NULL on EOF, interrupt, or other error.
+ */
+char **read_switch_multiword(const char *PROMPT, const struct swit *SWITCHES);
+
+/*
+ * Same as read_switch_multiword but using readline(3) for input.
+ */
 #ifdef READLINE_SUPPORT
-char **getans_via_readline (char *, struct swit *);
+char **read_switch_multiword_via_readline (char *, struct swit *);
 #endif /* READLINE_SUPPORT */
-int getanswer (char *);
+
 char **getarguments (char *, int, char **, int);
 
 /*
@@ -247,7 +279,7 @@ void m_popen(char *name, int savestdout);
 void m_pclose(void);
 
 void m_unknown(m_getfld_state_t *, FILE *);
-int makedir (char *);
+int makedir (const char *);
 char *message_id (time_t, int);
 
 /*
@@ -282,7 +314,7 @@ int pidwait (pid_t, int);
 int pidstatus (int, FILE *, char *);
 char *pluspath(char *);
 void print_help (char *, struct swit *, int);
-void print_sw (char *, struct swit *, char *, FILE *);
+void print_sw (const char *, const struct swit *, char *, FILE *);
 void print_version (char *);
 void push (void);
 char *pwd (void);
@@ -328,7 +360,7 @@ void seq_setcur (struct msgs *, int);
 void seq_setprev (struct msgs *);
 void seq_setunseen (struct msgs *, int);
 int showfile (char **, char *);
-int smatch(char *, struct swit *);
+int smatch(const char *, const struct swit *);
 
 /*
  * Convert a set of bit flags to printable format.
@@ -363,7 +395,7 @@ int smatch(char *, struct swit *);
  * from least significant bit to most significant.
  */
 char *snprintb (char *buffer, size_t size, unsigned flags, char *bitfield);
-int ssequal (char *, char *);
+int ssequal (const char *, const char *);
 int stringdex (char *, char *);
 char *trimcpy (char *);
 int unputenv (char *);
diff --git a/sbr/ambigsw.c b/sbr/ambigsw.c
index c11b9e7..15ff34c 100644
--- a/sbr/ambigsw.c
+++ b/sbr/ambigsw.c
@@ -11,7 +11,7 @@
 
 
 void
-ambigsw (char *arg, struct swit *swp)
+ambigsw (const char *arg, const struct swit *swp)
 {
     advise (NULL, "-%s ambiguous.  It matches", arg);
     print_sw (arg, swp, "-", stderr);
diff --git a/sbr/context_read.c b/sbr/context_read.c
index 8034068..de14b0d 100644
--- a/sbr/context_read.c
+++ b/sbr/context_read.c
@@ -107,7 +107,7 @@ context_read (void)
 
        cp = concat ("Your MH-directory \"", nd, "\" doesn't exist; Create it? 
", NULL);
 
-       if (!getanswer(cp))
+       if (!read_yes_or_no_if_tty(cp))
            adios (NULL, "unable to access MH-directory \"%s\"", nd);
 
        free (cp);
diff --git a/sbr/error.c b/sbr/error.c
index 0b6d777..6fb0d5c 100644
--- a/sbr/error.c
+++ b/sbr/error.c
@@ -17,7 +17,7 @@
  * print out error message
  */
 void
-advise (char *what, char *fmt, ...)
+advise (const char *what, char *fmt, ...)
 {
     va_list ap;
 
@@ -60,7 +60,7 @@ admonish (char *what, char *fmt, ...)
  * main routine for printing error messages.
  */
 void
-advertise (char *what, char *tail, char *fmt, va_list ap)
+advertise (const char *what, char *tail, char *fmt, va_list ap)
 {
     int        eindex = errno;
     char buffer[BUFSIZ], err[BUFSIZ];
@@ -85,7 +85,7 @@ advertise (char *what, char *tail, char *fmt, va_list ap)
        if (*what) {
            iov->iov_len = strlen (iov->iov_base = " ");
            iov++;
-           iov->iov_len = strlen (iov->iov_base = what);
+           iov->iov_len = strlen (iov->iov_base = (void*)what);
            iov++;
            iov->iov_len = strlen (iov->iov_base = ": ");
            iov++;
diff --git a/sbr/gans.c b/sbr/gans.c
index 7023402..f5ad194 100644
--- a/sbr/gans.c
+++ b/sbr/gans.c
@@ -11,11 +11,11 @@
 
 
 int
-gans (char *prompt, struct swit *ansp)
+read_switch (const char *prompt, const struct swit *ansp)
 {
     register int i;
     register char *cp;
-    register struct swit *ap;
+    const register struct swit *ap;
     char ansbuf[BUFSIZ];
 
     for (;;) {
diff --git a/sbr/getans.c b/sbr/getans.c
index 0800a3c..d388e2b 100644
--- a/sbr/getans.c
+++ b/sbr/getans.c
@@ -21,7 +21,7 @@ static void intrser (int);
 
 
 char **
-getans (char *prompt, struct swit *ansp)
+read_switch_multiword (const char *prompt, const struct swit *ansp)
 {
     int i;
     SIGNAL_HANDLER istat = NULL;
diff --git a/sbr/getansreadline.c b/sbr/getansreadline.c
index 5d80dd9..bc2b563 100644
--- a/sbr/getansreadline.c
+++ b/sbr/getansreadline.c
@@ -26,7 +26,7 @@ static char ansbuf[BUFSIZ];
  */
 
 char **
-getans_via_readline(char *prompt, struct swit *ansp)
+read_switch_multiword_via_readline(char *prompt, struct swit *ansp)
 {
     char *ans, **cpp;
 
diff --git a/sbr/getanswer.c b/sbr/getanswer.c
index 7392215..490d833 100644
--- a/sbr/getanswer.c
+++ b/sbr/getanswer.c
@@ -11,12 +11,12 @@
 
 
 int
-getanswer (char *prompt)
+read_yes_or_no_if_tty (const char *prompt)
 {
     static int interactive = -1;
 
     if (interactive < 0)
        interactive = isatty (fileno (stdin)) ? 1 : 0;
 
-    return (interactive ? gans (prompt, anoyes) : 1);
+    return (interactive ? read_switch (prompt, anoyes) : 1);
 }
diff --git a/sbr/makedir.c b/sbr/makedir.c
index 562949b..6d3f0dc 100644
--- a/sbr/makedir.c
+++ b/sbr/makedir.c
@@ -15,7 +15,7 @@
 #include <sys/file.h>
 
 int
-makedir (char *dir)
+makedir (const char *dir)
 {
     char            path[PATH_MAX];
     char*           folder_perms_ASCII;
diff --git a/sbr/print_sw.c b/sbr/print_sw.c
index 6d475ab..d790db6 100644
--- a/sbr/print_sw.c
+++ b/sbr/print_sw.c
@@ -11,7 +11,7 @@
 
 
 void
-print_sw (char *substr, struct swit *swp, char *prefix, FILE *fp)
+print_sw (const char *substr, const struct swit *swp, char *prefix, FILE *fp)
 {
     int len, optno;
     register int i;
diff --git a/sbr/read_line.c b/sbr/read_line.c
new file mode 100644
index 0000000..35d71a7
--- /dev/null
+++ b/sbr/read_line.c
@@ -0,0 +1,16 @@
+#include <h/mh.h>
+
+const char *
+read_line(void)
+{
+    char *cp;
+    static char line[BUFSIZ];
+
+    fflush(stdout);
+    if (fgets(line, sizeof(line), stdin) == NULL)
+            return NULL;
+    if ((cp = strchr(line, '\n')))
+       *cp = 0;
+    return line;
+}
+
diff --git a/sbr/smatch.c b/sbr/smatch.c
index 4d1d3d6..8ec6e3f 100644
--- a/sbr/smatch.c
+++ b/sbr/smatch.c
@@ -11,11 +11,11 @@
 
 
 int
-smatch(char *string, struct swit *swp)
+smatch(const char *string, const struct swit *swp)
 {
-    char *sp, *tcp;
+    const char *sp, *tcp;
     int firstone, len;
-    struct swit *tp;
+    const struct swit *tp;
 
     firstone = UNKWNSW;
 
diff --git a/sbr/ssequal.c b/sbr/ssequal.c
index 5ccf28f..cb76520 100644
--- a/sbr/ssequal.c
+++ b/sbr/ssequal.c
@@ -23,7 +23,7 @@
  */
 
 int
-ssequal (char *s1, char *s2)
+ssequal (const char *s1, const char *s2)
 {
     if (!s1)
        s1 = "";
diff --git a/sbr/utils.c b/sbr/utils.c
index c6f75e0..6ab5f53 100644
--- a/sbr/utils.c
+++ b/sbr/utils.c
@@ -200,7 +200,7 @@ void create_folder(char *folder, int autocreate, void 
(*done_callback)(int))
         if (autocreate == 0) {
             /* ask before creating folder */
             cp = concat ("Create folder \"", folder, "\"? ", NULL);
-            if (!getanswer (cp))
+            if (!read_yes_or_no_if_tty (cp))
                 done_callback (1);
             free (cp);
         } else if (autocreate == -1) {
diff --git a/uip/comp.c b/uip/comp.c
index 13d73c1..a11f1b7 100644
--- a/uip/comp.c
+++ b/uip/comp.c
@@ -337,7 +337,8 @@ try_it_again:
            adios (drft, "unable to stat");
        printf ("Draft \"%s\" exists (%ld bytes).", drft, (long) st.st_size);
        for (i = LISTDSW; i != YESW;) {
-           if (!(argp = getans ("\nDisposition? ", isdf ? aqrunl : aqrul)))
+           if (!(argp = read_switch_multiword ("\nDisposition? ",
+                                               isdf ? aqrunl : aqrul)))
                done (1);
            switch (i = smatch (*argp, isdf ? aqrunl : aqrul)) {
                case NOSW: 
diff --git a/uip/dist.c b/uip/dist.c
index 5a35e59..09c501a 100644
--- a/uip/dist.c
+++ b/uip/dist.c
@@ -232,7 +232,8 @@ try_it_again:
     if (stat (drft, &st) != NOTOK) {
        printf ("Draft \"%s\" exists (%ld bytes).", drft, (long) st.st_size);
        for (i = LISTDSW; i != YESW;) {
-           if (!(argp = getans ("\nDisposition? ", isdf ? aqrnl : aqrl)))
+           if (!(argp = read_switch_multiword ("\nDisposition? ",
+                                               isdf ? aqrnl : aqrl)))
                done (1);
            switch (i = smatch (*argp, isdf ? aqrnl : aqrl)) {
                case NOSW: 
diff --git a/uip/forw.c b/uip/forw.c
index 12a323b..c4e1dde 100644
--- a/uip/forw.c
+++ b/uip/forw.c
@@ -313,7 +313,8 @@ try_it_again:
     if (!buildsw && stat (drft, &st) != NOTOK) {
        printf ("Draft \"%s\" exists (%ld bytes).", drft, (long) st.st_size);
        for (i = LISTDSW; i != YESW;) {
-           if (!(argp = getans ("\nDisposition? ", isdf ? aqrnl : aqrl)))
+           if (!(argp = read_switch_multiword ("\nDisposition? ",
+                                               isdf ? aqrnl : aqrl)))
                done (1);
            switch (i = smatch (*argp, isdf ? aqrnl : aqrl)) {
                case NOSW: 
diff --git a/uip/inc.c b/uip/inc.c
index 7d12842..41e785f 100644
--- a/uip/inc.c
+++ b/uip/inc.c
@@ -584,7 +584,7 @@ go_to_it:
                if (errno != ENOENT)
                    adios (packfile, "error on file");
                cp = concat ("Create file \"", packfile, "\"? ", NULL);
-               if (noisy && !getanswer (cp))
+               if (noisy && !read_yes_or_no_if_tty (cp))
                    done (1);
                free (cp);
            }
diff --git a/uip/install-mh.c b/uip/install-mh.c
index ce8e294..627c48e 100644
--- a/uip/install-mh.c
+++ b/uip/install-mh.c
@@ -24,17 +24,13 @@ DEFINE_SWITCH_ENUM(INSTALLMH);
 DEFINE_SWITCH_ARRAY(INSTALLMH, switches);
 #undef X
 
-/*
- * static prototypes
- */
-static char *geta(void);
-
 
 int
 main (int argc, char **argv)
 {
     int autof = 0;
-    char *cp, *pathname, buf[BUFSIZ];
+    char *cp, buf[BUFSIZ];
+    const char *pathname;
     char *dp, **arguments, **argp;
     struct node *np;
     struct passwd *pw;
@@ -122,7 +118,7 @@ main (int argc, char **argv)
        done(1);
     }
 
-    if (!autof && gans ("Do you want help? ", anoyes)) {
+    if (!autof && read_switch ("Do you want help? ", anoyes)) {
        (void)printf(
         "\n"
         "Prior to using nmh, it is necessary to have a file in your login\n"
@@ -138,7 +134,7 @@ main (int argc, char **argv)
        if (S_ISDIR(st.st_mode)) {
            cp = concat ("You already have the standard nmh directory \"",
                    cp, "\".\nDo you want to use it for nmh? ", NULL);
-           if (gans (cp, anoyes))
+           if (read_switch (cp, anoyes))
                pathname = "Mail";
            else
                goto query;
@@ -151,17 +147,20 @@ main (int argc, char **argv)
        else
            cp = concat ("Do you want the standard nmh path \"",
                    mypath, "/", "Mail\"? ", NULL);
-       if (autof || gans (cp, anoyes))
+       if (autof || read_switch (cp, anoyes))
            pathname = "Mail";
        else {
 query:
-           if (gans ("Do you want a path below your login directory? ",
+           if (read_switch ("Do you want a path below your login directory? ",
                        anoyes)) {
                printf ("What is the path?  %s/", mypath);
-               pathname = geta ();
+               pathname = read_line ();
+               if (pathname == NULL) done (1);
            } else {
                printf ("What is the whole path?  /");
-               pathname = concat ("/", geta (), NULL);
+               pathname = read_line ();
+               if (pathname == NULL) done (1);
+               pathname = concat ("/", pathname, NULL);
            }
        }
     }
@@ -171,7 +170,7 @@ query:
     }
     if (chdir (pathname) == NOTOK) {
        cp = concat ("\"", pathname, "\" doesn't exist; Create it? ", NULL);
-       if (autof || gans (cp, anoyes))
+       if (autof || read_switch (cp, anoyes))
            if (makedir (pathname) == 0)
                adios (NULL, "unable to create %s", pathname);
     } else {
@@ -223,18 +222,3 @@ query:
     done (0);
     return 1;
 }
-
-
-static char *
-geta (void)
-{
-    char *cp;
-    static char line[BUFSIZ];
-
-    fflush(stdout);
-    if (fgets(line, sizeof(line), stdin) == NULL)
-       done (1);
-    if ((cp = strchr(line, '\n')))
-       *cp = 0;
-    return line;
-}
diff --git a/uip/mhcachesbr.c b/uip/mhcachesbr.c
index ae563c2..7afbadd 100644
--- a/uip/mhcachesbr.c
+++ b/uip/mhcachesbr.c
@@ -258,7 +258,7 @@ got_it:
        snprintf (bp, buflen, "\n    in file %s? ", buffer);
 
        /* Now, check answer */
-       if (!getanswer (query))
+       if (!read_yes_or_no_if_tty (query))
            status = NOTOK;
     }
 
diff --git a/uip/mhmisc.c b/uip/mhmisc.c
index 8b1f0d0..2d6ec56 100644
--- a/uip/mhmisc.c
+++ b/uip/mhmisc.c
@@ -146,7 +146,7 @@ losing_directory:
            }
 
            ep = concat ("Create directory \"", file, "\"? ", NULL);
-           answer = getanswer (ep);
+           answer = read_yes_or_no_if_tty (ep);
            free (ep);
 
            if (!answer)
diff --git a/uip/mhparse.c b/uip/mhparse.c
index 1193d56..ca5558a 100644
--- a/uip/mhparse.c
+++ b/uip/mhparse.c
@@ -2583,7 +2583,7 @@ openFTP (CT ct, char **file)
     /*
      * Now, check the answer
      */
-    if (!getanswer (buffer))
+    if (!read_yes_or_no_if_tty (buffer))
        return NOTOK;
 
     if (e->eb_flags) {
@@ -2770,7 +2770,7 @@ openMail (CT ct, char **file)
                    e->eb_subject ? e->eb_subject : e->eb_body);
 
     /* Now, check answer */
-    if (!getanswer (buffer))
+    if (!read_yes_or_no_if_tty (buffer))
        return NOTOK;
 
     vecp = 0;
diff --git a/uip/mhstoresbr.c b/uip/mhstoresbr.c
index 62b2f4a..62a5ba4 100644
--- a/uip/mhstoresbr.c
+++ b/uip/mhstoresbr.c
@@ -1285,7 +1285,7 @@ clobber_check (char *original_file, mhstoreinfo_t info) {
           if (isatty (fileno (stdin))) {
             char *prompt =
               concat ("Overwrite \"", file, "\" [y/n/rename]? ", NULL);
-            ans = getans (prompt, answer);
+            ans = read_switch_multiword (prompt, answer);
             free (prompt);
           } else {
             /* Overwrite, that's what nmh used to do.  And warn. */
diff --git a/uip/packf.c b/uip/packf.c
index 30f0f48..d8e037d 100644
--- a/uip/packf.c
+++ b/uip/packf.c
@@ -111,7 +111,7 @@ main (int argc, char **argv)
        if (errno != ENOENT)
            adios (file, "error on file");
        cp = concat ("Create file \"", file, "\"? ", NULL);
-       if (!getanswer (cp))
+       if (!read_yes_or_no_if_tty (cp))
            done (1);
        free (cp);
     }
diff --git a/uip/repl.c b/uip/repl.c
index ebe72ff..5686b5b 100644
--- a/uip/repl.c
+++ b/uip/repl.c
@@ -370,7 +370,8 @@ try_it_again:
     if (!buildsw && stat (drft, &st) != NOTOK) {
        printf ("Draft \"%s\" exists (%ld bytes).", drft, (long) st.st_size);
        for (i = LISTDSW; i != YESW;) {
-           if (!(argp = getans ("\nDisposition? ", isdf ? aqrnl : aqrl)))
+           if (!(argp = read_switch_multiword ("\nDisposition? ",
+                                               isdf ? aqrnl : aqrl)))
                done (1);
            switch (i = smatch (*argp, isdf ? aqrnl : aqrl)) {
                case NOSW: 
diff --git a/uip/replsbr.c b/uip/replsbr.c
index c4ca0c4..6380884 100644
--- a/uip/replsbr.c
+++ b/uip/replsbr.c
@@ -402,7 +402,7 @@ insert (struct mailname *np)
 
     if (querysw) {
        snprintf (buffer, sizeof(buffer), "Reply to %s? ", adrformat (np));
-       if (!gans (buffer, anoyes))
+       if (!read_switch (buffer, anoyes))
        return 0;
     }
     mp->m_next = np;
diff --git a/uip/rmf.c b/uip/rmf.c
index c7e6426..f714c47 100644
--- a/uip/rmf.c
+++ b/uip/rmf.c
@@ -103,7 +103,7 @@ main (int argc, char **argv)
 
     if (interactive) {
        cp = concat ("Remove folder \"", folder, "\"? ", NULL);
-       if (!getanswer (cp))
+       if (!read_yes_or_no_if_tty (cp))
            done (0);
        free (cp);
     }
diff --git a/uip/send.c b/uip/send.c
index 26ef89a..f4c4910 100644
--- a/uip/send.c
+++ b/uip/send.c
@@ -301,7 +301,7 @@ main (int argc, char **argv)
                adios (msgs[0], "unable to stat draft file");
            cp = concat ("Use \"", msgs[0], "\"? ", NULL);
            for (status = LISTDSW; status != YESW;) {
-               if (!(argp = getans (cp, anyl)))
+               if (!(argp = read_switch_multiword (cp, anyl)))
                    done (1);
                switch (status = smatch (*argp, anyl)) {
                    case NOSW: 
diff --git a/uip/whatnowsbr.c b/uip/whatnowsbr.c
index d8862dc..62320f9 100644
--- a/uip/whatnowsbr.c
+++ b/uip/whatnowsbr.c
@@ -233,9 +233,9 @@ WhatNow (int argc, char **argv)
     snprintf (prompt, sizeof(prompt), myprompt, invo_name);
     for (;;) {
 #ifdef READLINE_SUPPORT
-       if (!(argp = getans_via_readline (prompt, aleqs))) {
+       if (!(argp = read_switch_multiword_via_readline (prompt, aleqs))) {
 #else /* ! READLINE_SUPPORT */
-       if (!(argp = getans (prompt, aleqs))) {
+       if (!(argp = read_switch_multiword (prompt, aleqs))) {
 #endif /* READLINE_SUPPORT */
            (void) m_unlink (LINK);
            done (1);
-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]