From: Bruno Haible Date: Thu, 15 Sep 2005 16:25:48 +0000 (+0000) Subject: Fix redefinition problem: strstr may be defined as a macro in string.h. X-Git-Tag: cvs-readonly~2952 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=7875a15929f1d5c59e4f5c1fd1f43b70599bc4b9;p=gnulib.git Fix redefinition problem: strstr may be defined as a macro in string.h. --- diff --git a/lib/ChangeLog b/lib/ChangeLog index 20d8109a9..493218c52 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,7 @@ +2005-09-15 Derek Price + + * strstr.h: Include string.h. Define strstr as a macro here. + 2005-09-13 Derek Price * canon-host.c (canon_host_r): Set *cherror on memory allocation diff --git a/lib/strstr.h b/lib/strstr.h index ca9a82a96..a28b1401e 100644 --- a/lib/strstr.h +++ b/lib/strstr.h @@ -15,10 +15,20 @@ 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 + #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); diff --git a/m4/ChangeLog b/m4/ChangeLog index 411b56c41..17ffb8aef 100644 --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,7 @@ +2005-09-15 Derek Price + + * strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here. + 2005-09-12 Derek Price Make canon-host require getaddrinfo. diff --git a/m4/strstr.m4 b/m4/strstr.m4 index 2856ce75c..aea809ebd 100644 --- a/m4/strstr.m4 +++ b/m4/strstr.m4 @@ -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 ])