aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--posix/regex.c6
-rw-r--r--posix/regex.h2
-rw-r--r--posix/regex_internal.h3
4 files changed, 17 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 9090135..ab0f4d6 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 4c38262..7a4f304 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 c760053..b4a975b 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 7a7d964..7ec7294 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