Re: [PHP-DEV] setlocale(LC_CTYPE, "") in main.c From: thies <email protected>
Date: 04/28/00

On Fri, Apr 21, 2000 at 01:54:58AM +0200, Jon Forsberg wrote:
> Is there any special reason for setting only LC_CTYPE and not LC_ALL in
> main.c?
> The problem now is that setlocale(LC_ALL, "") is, in fact, how the
> locale is reset after the user has changed it with the PHP function
> 'setlocale' (this is
> done in PHP_RSHUTDOWN_FUNCTION(basic), ext/standard/basic_functions.c).
> So if I change the locale settings with 'setlocale' in a script, when
> the script
> is finished the locale settings for the Apache process wont necessary be
> the
> same as before the script was run.
>
> One side effect of this is that one process can get different locale
> settings
> then the others. This makes (how I first noticed the problem) repeated
> execution
> of a simple script like this
>
> <?php print(setlocale(LC_ALL, 0)) ?>
>
> produce varying (random, sort of) results. The results here depends of
> curse
> on which process happened to serve the request.

    changed in CVS.

>
> Possible patch:
>
> --- main.c.orig Wed Apr 19 23:43:34 2000
> +++ main.c Wed Apr 19 23:43:53 2000
> @@ -837,7 +837,7 @@
> PG(connection_status) = PHP_CONNECTION_NORMAL;
>
> #if HAVE_SETLOCALE
> - setlocale(LC_CTYPE, "");
> + setlocale(LC_ALL, "");
> #endif
>
> #ifdef PHP_WIN32
>
> --
> PHP Development Mailing List <http://www.php.net/>
> To unsubscribe, e-mail: php-dev-unsubscribe <email protected>
> For additional commands, e-mail: php-dev-help <email protected>
> To contact the list administrators, e-mail: php-list-admin <email protected>

-- 

Thies C. Arntzen "One Big-Mac, Small Fries and a Coke!" Digital Collections Phone +49 40 235350 Fax +49 40 23535180 Hammerbrookstr. 93 20097 Hamburg / Germany

-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>