rasmus Wed, 02 Jun 2010 19:24:36 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=300104
Log: Tweak the fix for bug #51847 to still call libintl_setlocale when libintl has done that redefine. Bug: http://bugs.php.net/51847 (error getting bug information) Changed paths: U php/php-src/branches/PHP_5_2/ext/standard/string.c U php/php-src/branches/PHP_5_3/ext/standard/string.c U php/php-src/trunk/ext/standard/string.c Modified: php/php-src/branches/PHP_5_2/ext/standard/string.c =================================================================== --- php/php-src/branches/PHP_5_2/ext/standard/string.c 2010-06-02 19:22:47 UTC (rev 300103) +++ php/php-src/branches/PHP_5_2/ext/standard/string.c 2010-06-02 19:24:36 UTC (rev 300104) @@ -37,10 +37,18 @@ #ifdef HAVE_MONETARY_H # include <monetary.h> #endif +/* + * This define is here because some versions of libintl redefine setlocale + * to point to libintl_setlocale. That's a ridiculous thing to do as far + * as * I am concerned, but with this define and the subsequent undef we + * limit * the damage to just the actual setlocale() call in this file + * without * turning zif_setlocale into zif_libintl_setlocale. -Rasmus + */ +#define php_my_setlocale setlocale #ifdef HAVE_LIBINTL # include <libintl.h> /* For LC_MESSAGES */ #ifdef setlocale - # undef setlocale /* Uh, libintl, don't F* our symbols please */ + # undef setlocale #endif #endif @@ -4176,7 +4184,7 @@ } } - retval = setlocale (cat, loc); + retval = php_my_setlocale (cat, loc); zend_update_current_locale(); if (retval) { /* Remember if locale was changed */ Modified: php/php-src/branches/PHP_5_3/ext/standard/string.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/standard/string.c 2010-06-02 19:22:47 UTC (rev 300103) +++ php/php-src/branches/PHP_5_3/ext/standard/string.c 2010-06-02 19:24:36 UTC (rev 300104) @@ -36,10 +36,18 @@ #ifdef HAVE_MONETARY_H # include <monetary.h> #endif +/* + * This define is here because some versions of libintl redefine setlocale + * to point to libintl_setlocale. That's a ridiculous thing to do as far + * as * I am concerned, but with this define and the subsequent undef we + * limit * the damage to just the actual setlocale() call in this file + * without * turning zif_setlocale into zif_libintl_setlocale. -Rasmus + */ +#define php_my_setlocale setlocale #ifdef HAVE_LIBINTL # include <libintl.h> /* For LC_MESSAGES */ #ifdef setlocale - # undef setlocale /* Uh, libintl, don't F* our symbols please */ + # undef setlocale #endif #endif @@ -4095,7 +4103,7 @@ } } - retval = setlocale(cat, loc); + retval = php_my_setlocale(cat, loc); zend_update_current_locale(); if (retval) { /* Remember if locale was changed */ Modified: php/php-src/trunk/ext/standard/string.c =================================================================== --- php/php-src/trunk/ext/standard/string.c 2010-06-02 19:22:47 UTC (rev 300103) +++ php/php-src/trunk/ext/standard/string.c 2010-06-02 19:24:36 UTC (rev 300104) @@ -36,10 +36,18 @@ #ifdef HAVE_MONETARY_H # include <monetary.h> #endif +/* + * This define is here because some versions of libintl redefine setlocale + * to point to libintl_setlocale. That's a ridiculous thing to do as far + * as * I am concerned, but with this define and the subsequent undef we + * limit * the damage to just the actual setlocale() call in this file + * without * turning zif_setlocale into zif_libintl_setlocale. -Rasmus + */ +#define php_my_setlocale setlocale #ifdef HAVE_LIBINTL # include <libintl.h> /* For LC_MESSAGES */ #ifdef setlocale - # undef setlocale /* Uh, libintl, don't F* our symbols please */ + # undef setlocale #endif #endif @@ -4095,7 +4103,7 @@ } } - retval = setlocale(cat, loc); + retval = php_my_setlocale(cat, loc); zend_update_current_locale(); if (retval) { /* Remember if locale was changed */
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php