summaryrefslogtreecommitdiff
path: root/lib/rpmatch.c
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>1998-12-07 05:14:07 +0000
committerJim Meyering <jim@meyering.net>1998-12-07 05:14:07 +0000
commitb7e610bfdb0314907d7560c44b40aaf85ceb7a8d (patch)
tree7b1e9265bf4a56d5226de8ad902f664eee5ae13a /lib/rpmatch.c
parent7e6c89fc630bdae9583f8cbbb844dd2c7617e98c (diff)
downloadcoreutils-b7e610bfdb0314907d7560c44b40aaf85ceb7a8d.tar.xz
(rpmatch) [!ENABLE_NLS]: Hard-code tests to use `^[yY]' and `^[nN]'.
From Karl Heuer.
Diffstat (limited to 'lib/rpmatch.c')
-rw-r--r--lib/rpmatch.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/lib/rpmatch.c b/lib/rpmatch.c
index 9cc51755d..d9c31b598 100644
--- a/lib/rpmatch.c
+++ b/lib/rpmatch.c
@@ -29,15 +29,11 @@
# endif
#endif
-#include <sys/types.h>
-#include <regex.h>
-
#if ENABLE_NLS
+# include <sys/types.h>
+# include <regex.h>
# include <libintl.h>
# define _(Text) gettext (Text)
-#else
-# define _(Text) Text
-#endif
static int
try (const char *response, const char *pattern, const int match, const int nomatch, const char **lastp, regex_t *re)
@@ -60,11 +56,13 @@ try (const char *response, const char *pattern, const int match, const int nomat
/* See if the regular expression matches RESPONSE. */
return regexec (re, response, 0, NULL, 0) == 0 ? match : nomatch;
}
+#endif
int
rpmatch (const char *response)
{
+#if ENABLE_NLS
/* Match against one of the response patterns, compiling the pattern
first if necessary. */
@@ -77,4 +75,9 @@ rpmatch (const char *response)
&yesexpr, &yesre))
? result
: try (response, _("^[nN]"), 0, -1, &noexpr, &nore));
+#else
+ /* Test against "^[yY]" and "^[nN]", hardcoded to avoid requiring regex */
+ return (*response == 'y' || *response == 'Y' ? 1
+ : *response == 'n' || *response == 'N' ? 0 : -1);
+#endif
}