From: Eric Blake <ebb9@byu.net>
Date: Thu, 15 May 2008 12:16:11 +0000 (-0600)
Subject: Glibc finally accepted the memmem speedup code, bugzilla #5514.
X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a37217922a7b85ddaab2d802b275905f6e9310ac;p=pspp

Glibc finally accepted the memmem speedup code, bugzilla #5514.

* doc/glibc-functions/memmem.texi (memmem): Mention last broken
glibc version.
* doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
* doc/posix-functions/strstr.texi (strstr): Likewise.
* lib/str-two-way.h (MAX): Sychronize with glibc.

Signed-off-by: Eric Blake <ebb9@byu.net>
---

diff --git a/ChangeLog b/ChangeLog
index 6a2635b088..f563409f90 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-05-15  Eric Blake  <ebb9@byu.net>
+
+	Glibc finally accepted the memmem speedup code, bugzilla #5514.
+	* doc/glibc-functions/memmem.texi (memmem): Mention last broken
+	glibc version.
+	* doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
+	* doc/posix-functions/strstr.texi (strstr): Likewise.
+	* lib/str-two-way.h (MAX): Sychronize with glibc.
+
 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
 
 	* lib/regcomp.c (optimize_utf8): Add a note on why we test
diff --git a/doc/glibc-functions/memmem.texi b/doc/glibc-functions/memmem.texi
index a9ec7de27d..c7e3d739f4 100644
--- a/doc/glibc-functions/memmem.texi
+++ b/doc/glibc-functions/memmem.texi
@@ -24,7 +24,7 @@ glibc <= 2.0, Cygwin 1.5.x.
 @item
 This function has quadratic instead of linear worst-case complexity on some
 platforms:
-glibc 2.6.1, FreeBSD 6.2, NetBSD 3.0, AIX 5.1, Cygwin 1.5.x.
+glibc 2.8, FreeBSD 6.2, NetBSD 3.0, AIX 5.1, Cygwin 1.5.x.
 @end itemize
 
 Portability problems not fixed by Gnulib:
diff --git a/doc/glibc-functions/strcasestr.texi b/doc/glibc-functions/strcasestr.texi
index 4df018cd96..c5d1c65fc9 100644
--- a/doc/glibc-functions/strcasestr.texi
+++ b/doc/glibc-functions/strcasestr.texi
@@ -17,7 +17,7 @@ Portability problems fixed by Gnulib module @code{strcasestr}:
 @item
 This function has quadratic instead of linear worst-case complexity on some
 platforms:
-glibc 2.6.1, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0.
+glibc 2.8, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0.
 @end itemize
 
 Portability problems not fixed by Gnulib:
diff --git a/doc/posix-functions/strstr.texi b/doc/posix-functions/strstr.texi
index 417a035ef9..796a14fb6c 100644
--- a/doc/posix-functions/strstr.texi
+++ b/doc/posix-functions/strstr.texi
@@ -11,7 +11,7 @@ Portability problems fixed by Gnulib:
 @item
 This function has quadratic instead of linear worst-case complexity on some
 platforms:
-glibc 2.6.1, MacOS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw.
+glibc 2.8, MacOS X 10.3, FreeBSD 6.2, NetBSD 3.0, OpenBSD 4.0, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw.
 @end itemize
 
 Portability problems not fixed by Gnulib:
diff --git a/lib/str-two-way.h b/lib/str-two-way.h
index d144ac95b4..b0338a70a1 100644
--- a/lib/str-two-way.h
+++ b/lib/str-two-way.h
@@ -67,7 +67,9 @@
 # define LONG_NEEDLE_THRESHOLD SIZE_MAX
 #endif
 
-#define MAX(a, b) ((a < b) ? (b) : (a))
+#ifndef MAX
+# define MAX(a, b) ((a < b) ? (b) : (a))
+#endif
 
 #ifndef CANON_ELEMENT
 # define CANON_ELEMENT(c) c