# HG changeset patch # User Bruno Haible # Date 1126801548 0 # Node ID 8938a14f38c1f5131c9ee4930c3cea4bbb73ba58 # Parent 8a2171e804c19d241b069720d4e30eefbd5a824c Fix redefinition problem: strstr may be defined as a macro in string.h. diff --git a/lib/ChangeLog b/lib/ChangeLog --- 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 --- 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 --- 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 --- 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 @@ 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 ])