diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | posix/regex.c | 6 | ||||
-rw-r--r-- | posix/regex.h | 2 | ||||
-rw-r--r-- | posix/regex_internal.h | 3 |
4 files changed, 17 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 9090135e8c..ab0f4d695d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2004-01-28 Paolo Bonzini <bonzini@gnu.org> + + Merge regex changes in gawk. + * posix/regcomp.c (build_range_exp) [!_LIBC]: Check validity + of collation elements. + * posix/regex.c: Include limits.h. + * posix/regex.h: Document REG_ECOLLATE correctly. + * posix/regex_internal.h [!_LIBC && !ENABLE_NLS]: Disable NLS. + 2004-01-24 Andreas Jaeger <aj@suse.de> * malloc/obstack.h: Import gnulib version. diff --git a/posix/regex.c b/posix/regex.c index 4c3826238b..7a4f304cdd 100644 --- a/posix/regex.c +++ b/posix/regex.c @@ -74,6 +74,12 @@ /* POSIX says that <sys/types.h> must be included (by the caller) before <regex.h>. */ #include <sys/types.h> + +/* On some systems, limits.h sets RE_DUP_MAX to a lower value than + GNU regex allows. Include it before <regex.h>, which correctly + #undefs RE_DUP_MAX and sets it to the right value. */ +#include <limits.h> + #include <regex.h> #include "regex_internal.h" diff --git a/posix/regex.h b/posix/regex.h index c76005332d..b4a975b48b 100644 --- a/posix/regex.h +++ b/posix/regex.h @@ -313,7 +313,7 @@ typedef enum /* POSIX regcomp return error codes. (In the order listed in the standard.) */ REG_BADPAT, /* Invalid pattern. */ - REG_ECOLLATE, /* Not implemented. */ + REG_ECOLLATE, /* Inalid collating element. */ REG_ECTYPE, /* Invalid character class name. */ REG_EESCAPE, /* Trailing backslash. */ REG_ESUBREG, /* Invalid back reference. */ diff --git a/posix/regex_internal.h b/posix/regex_internal.h index 7a7d964bd5..7ec7294692 100644 --- a/posix/regex_internal.h +++ b/posix/regex_internal.h @@ -23,7 +23,6 @@ #include <assert.h> #include <ctype.h> -#include <limits.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -53,7 +52,7 @@ #endif /* This is for other GNU distributions with internationalized messages. */ -#if HAVE_LIBINTL_H || defined _LIBC +#if (HAVE_LIBINTL_H && ENABLE_NLS) || defined _LIBC # include <libintl.h> # ifdef _LIBC # undef gettext |