Markus Duft wrote: > it complains that: > > In file included from localcharset.c:29: > ./string.h:1059: error: conflicting types for 'mbsrchr' > /usr/include/string.h:84: error: previous declaration of 'mbsrchr' was here > make[4]: *** [localcharset.o] Error 1 > > where /usr/include/string.h does: > > extern char * __cdecl mbsrchr(const char *, char);
I'm adding this workaround: 2011-05-26 Bruno Haible <br...@clisp.org> mbsrchr: Avoid collision with system function on Interix. * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix. Reported by Markus Duft <md...@gentoo.org>. --- lib/string.in.h.orig Thu May 26 12:26:58 2011 +++ lib/string.in.h Thu May 26 12:26:48 2011 @@ -736,9 +736,9 @@ and return a pointer to it. Return NULL if C is not found in STRING. Unlike strrchr(), this function works correctly in multibyte locales with encodings such as GB18030. */ -# if defined __hpux +# if defined __hpux || defined __INTERIX # if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define mbsrchr rpl_mbsrchr /* avoid collision with HP-UX function */ +# define mbsrchr rpl_mbsrchr /* avoid collision with system function */ # endif _GL_FUNCDECL_RPL (mbsrchr, char *, (const char *string, int c) _GL_ARG_NONNULL ((1))); -- In memoriam Jeane Gardiner <http://en.wikipedia.org/wiki/Jeane_Gardiner>