From a82735af45d968291389c816f5c2a8c999da0e9c Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 21 Jul 1996 17:13:41 +0000 Subject: [PATCH] (yesno) [HAVE_RPMATCH]: New rpmatch-based version of the function. --- lib/yesno.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lib/yesno.c b/lib/yesno.c index 74cbcb7420..f69954d1d1 100644 --- a/lib/yesno.c +++ b/lib/yesno.c @@ -19,12 +19,37 @@ #include #endif +#include +#ifdef HAVE_STDLIB_H +# include +#endif #include /* Read one line from standard input and return nonzero if that line begins with y or Y, otherwise return 0. */ +#ifdef HAVE_RPMATCH +int +yesno () +{ + /* We make some assumptions here: + a) leading white space in the response are not vital + b) the first 128 characters of the answer are enough (the rest can + be ignored) + I cannot think for a situation where this is not ok. --drepper@gnu */ + char buf[128]; + int len = 0; + int c; + + while ((c = getchar ()) != EOF && c != '\n') + if ((len > 0 && len < 127) || (len == 0 && !isspace (c))) + buf[len++] = c; + buf[len] = '\0'; + + return rpmatch (buf) == 1; +} +#else int yesno () { @@ -39,3 +64,4 @@ yesno () return rv; } +#endif -- 2.30.2