diff options
author | Jim Meyering <jim@meyering.net> | 1998-12-07 05:14:07 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1998-12-07 05:14:07 +0000 |
commit | b7e610bfdb0314907d7560c44b40aaf85ceb7a8d (patch) | |
tree | 7b1e9265bf4a56d5226de8ad902f664eee5ae13a /lib | |
parent | 7e6c89fc630bdae9583f8cbbb844dd2c7617e98c (diff) | |
download | coreutils-b7e610bfdb0314907d7560c44b40aaf85ceb7a8d.tar.xz |
(rpmatch) [!ENABLE_NLS]: Hard-code tests to use `^[yY]' and `^[nN]'.
From Karl Heuer.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rpmatch.c | 15 |
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 } |