Andi Gutmans wrote:
> Hi,
> 
> I'll try and get the patch into PHP soon (I was busy with other things)
> I want to rewrite it a bit to make it nicer.

does the case-sensitive, then case-insensitive logic really make
that much sense? wouldn't it be easier *and* more consistent to
make zend_str_tolower() not use libc tolower() but some locale-insensitive
code instead? or am i missing something?

btw, the use of strtod() within the engine is a similar problem
the lexer always looks for '.' as decimal_point (which is right)
but then uses strtod() to convert the found string into a double
without taking in account that the decimal_point in the current
locale may be a different character so that parsing stops at the '.',
cutting off all decimals
so strtod() should be replaced by something not locale-aware
(and no, atof() is not what we are looking for) or replace the '.'
with whatever decimal_point is set to in the current locale

first solution would perform better, but from looking at the OpenBSD
implementation of strtod() i think the second has far less potential
for problems while not performing to bad if decimal_point is cached
somehow ...

PS: IMHO we have to rethink the complete set_locale() stuff in PHP
     as there is absolutely no way to make it work in threaded SAPIs :(



-- 
Hartmut Holzgraefe  [EMAIL PROTECTED]  http://www.six.de/  +49-711-99091-77

H.A.R.T.M.U.T.: Hydraulic Artificial Replicant
                 Trained for Mathematics and Ultimate Troubleshooting


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to