]> granicus.if.org Git - php/commitdiff
Fix for bug #51847
authorRasmus Lerdorf <rasmus@php.net>
Wed, 2 Jun 2010 05:53:13 +0000 (05:53 +0000)
committerRasmus Lerdorf <rasmus@php.net>
Wed, 2 Jun 2010 05:53:13 +0000 (05:53 +0000)
Someone in libintl world decided it was a good idea to do:

#undef setlocale
#define setlocale libintl_setlocale

That means, of course, that any use of "setlocale" by the
preprocessor now becomes libintl_setlocale which means we
no longer have a _zif_setlocale symbol in string.o, but we
magically have a _zif_libintl_setlocale symbol.  The linker
is obviously not very happy about this when basic_functions.o
tries to find _zif_setlocale.

So, let's not do that again.

ext/standard/string.c

index 694c0a5fb0888af9a7edf5c6fa232388f24d49a0..dd8936d31fdf59db60f4fe3745f754e1947eb4de 100644 (file)
@@ -39,6 +39,9 @@
 #endif
 #ifdef HAVE_LIBINTL
 # include <libintl.h> /* For LC_MESSAGES */
+ #ifdef setlocale
+ # undef setlocale /* Uh, libintl, don't F* our symbols please */
+ #endif
 #endif
 
 #include <math.h>