Fix redefinition problem: strstr may be defined as a macro in string.h.
authorBruno Haible <bruno@clisp.org>
Thu, 15 Sep 2005 16:25:48 +0000 (16:25 +0000)
committerBruno Haible <bruno@clisp.org>
Thu, 15 Sep 2005 16:25:48 +0000 (16:25 +0000)
lib/ChangeLog
lib/strstr.h
m4/ChangeLog
m4/strstr.m4

index 20d8109a90d6d8c85b2c7fe5afb01949b3a85751..493218c521478509608ef229fec20f52a9cce326 100644 (file)
@@ -1,3 +1,7 @@
+2005-09-15  Derek Price  <derek@ximbiot.com>
+
+       * strstr.h: Include string.h. Define strstr as a macro here.
+
 2005-09-13  Derek Price  <derek@ximbiot.com>
 
        * canon-host.c (canon_host_r): Set *cherror on memory allocation
index ca9a82a965ed06acba9c48067b81b4137ba123db..a28b1401ea3aec8235b87ef75f6a8c6d8e9bfdb5 100644 (file)
    along with this program; if not, write to the Free Software Foundation,
    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
 
+
+/* Include string.h: on glibc systems, it contains a macro definition of
+   strstr() that would collide with our definition if included afterwards.  */
+#include <string.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
 
+/* No known system has a strstr() function that works correctly in
+   multibyte locales. Therefore we use our version always.  */
+#undef strstr
+#define strstr rpl_strstr
+
 /* Find the first occurrence of NEEDLE in HAYSTACK.  */
 extern char *strstr (const char *haystack, const char *needle);
 
index 411b56c41c7fe0c5d9eb323f38ac36ea36cd94bb..17ffb8aef8b048ed052cc80d66c9fa4e1a42f589 100644 (file)
@@ -1,3 +1,7 @@
+2005-09-15  Derek Price  <derek@ximbiot.com>
+
+       * strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
+
 2005-09-12  Derek Price  <derek@ximbiot.com>
 
        Make canon-host require getaddrinfo.
index 2856ce75c7eab774ea9596e924a9e0178193e676..aea809ebd15b1512e792daaf09d04cb2dc66cacb 100644 (file)
@@ -1,4 +1,4 @@
-# strstr.m4 serial 3
+# strstr.m4 serial 4
 dnl Copyright (C) 2002-2003, 2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -9,7 +9,6 @@ AC_DEFUN([gl_FUNC_STRSTR],
   dnl No known system has a strstr() function that works correctly in
   dnl multibyte locales. Therefore we use our version always.
   AC_LIBOBJ(strstr)
-  AC_DEFINE(strstr, rpl_strstr, [Define to rpl_strstr always.])
   gl_PREREQ_STRSTR
 ])