locale bug from php4.3.0
[email protected] (Giuseppe Tanzilli - CSF) Mon, 24 Mar 2003 16:02:40 +0100
| Newsgroups | php.dev,php.qa |
|---|---|
| Message-ID | <[email protected]> |
--------------ms010405060301050901020708
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Hi,
just porting big 4.2.3 application to 4.3.2rc,
I see something changed from 4.3.0 about locale settings.
Before 4.3.0 locale was used to print out numbers in string format
and to read numbers from string formats.
I mean php uses the decimal delimiter definied in the locale settings.
From 4.3.0 on, php uses the decimal delimiter from locale only to
output numbers to strings,
not when read numbers from strings.
Why ?
Every other language works the old pre 4.3.0 way.
This way every serious application needs alot of work to run on php
>=4.3.0!!!!
Please explain why this change was made.
I saw in setlocale source in ext/standard/strings.c,
if ((lc.decimal_point)[0] != '.') {
/* set locale back to C */
setlocale(LC_NUMERIC, "C");
}
this sets LC_NUMERIC to C in every case
I'm in Italy and here we use comma as decimal delimiter.
bye
Giuseppe
--
-------------------------------------------------------
Giuseppe Tanzilli [email protected]
CSF Sistemi srl phone ++39 0775 7771
Via del Ciavattino
Anagni FR
Italy
--------------ms010405060301050901020708
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIJYDCC
Aw4wggJ3oAMCAQICAwl61zANBgkqhkiG9w0BAQQFADCBkjELMAkGA1UEBhMCWkExFTATBgNV
BAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMQ8wDQYDVQQKEwZUaGF3dGUx
HTAbBgNVBAsTFENlcnRpZmljYXRlIFNlcnZpY2VzMSgwJgYDVQQDEx9QZXJzb25hbCBGcmVl
bWFpbCBSU0EgMjAwMC44LjMwMB4XDTAzMDMxMTA5MjQ1NFoXDTA0MDMxMDA5MjQ1NFowSjEf
MB0GA1UEAxMWVGhhd3RlIEZyZWVtYWlsIE1lbWJlcjEnMCUGCSqGSIb3DQEJARYYZy50YW56
aWxsaUBncnVwcG9jc2YuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA11f8
EfFF7KFrpHlev9MQZwwqrXWYCQlvDCIzw740QT+1jIXudf3slyYyk92sI4PmXAzQjEccv6BQ
TCQydHcWkEiq2Efg1RvaHOYVnXPPPnmeItfQEPinesMqVA97nuHfeFi61CN9z7iQW/DKCbKI
Ii80ayoh315yvOCWyY430TLEFuzgZuEUZofsNMl4afNTxX0fEt9F1gscRHlmiAbyhBhTtanW
IgecMBfi9n218gzXXkojEhYodwiENwt6uLTOgmbHaEo2/qOWvFSlpicQLW8Z5er2FDuQZkiG
7i4kLGCUa/b95upWUQlcDy2+zol4azFfQDJ0418cv6nLxo8hXwIDAQABozUwMzAjBgNVHREE
HDAagRhnLnRhbnppbGxpQGdydXBwb2NzZi5jb20wDAYDVR0TAQH/BAIwADANBgkqhkiG9w0B
AQQFAAOBgQC24XQF35sv+DRfl4mS8rmV/9J4ImzDTo71DrgJ5XE9eawXyZp5uR9k2crMxrzv
+aSvlZDOttecRbVbry5xyM9/Ald/d/nAZMJWm50XKHbCEG6c0cn+v9Zr3+6mhO6eeRVWNbZu
rQLrIs5dwxsCmQJLW8SQtTpcPAJ7UGaSv/hy/jCCAw4wggJ3oAMCAQICAwl61zANBgkqhkiG
9w0BAQQFADCBkjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UE
BxMJQ2FwZSBUb3duMQ8wDQYDVQQKEwZUaGF3dGUxHTAbBgNVBAsTFENlcnRpZmljYXRlIFNl
cnZpY2VzMSgwJgYDVQQDEx9QZXJzb25hbCBGcmVlbWFpbCBSU0EgMjAwMC44LjMwMB4XDTAz
MDMxMTA5MjQ1NFoXDTA0MDMxMDA5MjQ1NFowSjEfMB0GA1UEAxMWVGhhd3RlIEZyZWVtYWls
IE1lbWJlcjEnMCUGCSqGSIb3DQEJARYYZy50YW56aWxsaUBncnVwcG9jc2YuY29tMIIBIjAN
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA11f8EfFF7KFrpHlev9MQZwwqrXWYCQlvDCIz
w740QT+1jIXudf3slyYyk92sI4PmXAzQjEccv6BQTCQydHcWkEiq2Efg1RvaHOYVnXPPPnme
ItfQEPinesMqVA97nuHfeFi61CN9z7iQW/DKCbKIIi80ayoh315yvOCWyY430TLEFuzgZuEU
ZofsNMl4afNTxX0fEt9F1gscRHlmiAbyhBhTtanWIgecMBfi9n218gzXXkojEhYodwiENwt6
uLTOgmbHaEo2/qOWvFSlpicQLW8Z5er2FDuQZkiG7i4kLGCUa/b95upWUQlcDy2+zol4azFf
QDJ0418cv6nLxo8hXwIDAQABozUwMzAjBgNVHREEHDAagRhnLnRhbnppbGxpQGdydXBwb2Nz
Zi5jb20wDAYDVR0TAQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQC24XQF35sv+DRfl4mS8rmV
/9J4ImzDTo71DrgJ5XE9eawXyZp5uR9k2crMxrzv+aSvlZDOttecRbVbry5xyM9/Ald/d/nA
ZMJWm50XKHbCEG6c0cn+v9Zr3+6mhO6eeRVWNbZurQLrIs5dwxsCmQJLW8SQtTpcPAJ7UGaS
v/hy/jCCAzgwggKhoAMCAQICEGZFcrfMdPXPY3ZFhNAukQEwDQYJKoZIhvcNAQEEBQAwgdEx
CzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93
bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24g
U2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBD
QTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw0wMDA4
MzAwMDAwMDBaFw0wNDA4MjcyMzU5NTlaMIGSMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2Vz
dGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xDzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UE
CxMUQ2VydGlmaWNhdGUgU2VydmljZXMxKDAmBgNVBAMTH1BlcnNvbmFsIEZyZWVtYWlsIFJT
QSAyMDAwLjguMzAwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAN4zMqZjxwklRT7Sbngn
Z4HF2ogZgpcO40QpimM1Km1wPPrcrvfudG8wvDOQf/k0caCjbZjxw0+iZdsN+kvx1t1hpfmF
zVWaNRqdknWoJ67Ycvm6AvbXsJHeHOmr4BgDqHxDQlBRh4M88Dm0m1SKE4f/s5udSWYALQmJ
7JRr6aFpAgMBAAGjTjBMMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwx
LTI5NzASBgNVHRMBAf8ECDAGAQH/AgEAMAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQQFAAOB
gQAxsUtHXfkBceX1U2xdedY9mMAmE2KBIqcS+CKV6BtJtyd7BDm6/ObyJOuR+r3sDSo491BV
qGz3Da1MG7wD9LXrokefbKIMWI0xQgkRbLAaadErErJAXWr5edDqLiXdiuT82w0fnQLzWtvK
PPZE6iZph39Ins6ln+eE2MliYq0FxjGCA9UwggPRAgEBMIGaMIGSMQswCQYDVQQGEwJaQTEV
MBMGA1UECBMMV2VzdGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xDzANBgNVBAoTBlRo
YXd0ZTEdMBsGA1UECxMUQ2VydGlmaWNhdGUgU2VydmljZXMxKDAmBgNVBAMTH1BlcnNvbmFs
IEZyZWVtYWlsIFJTQSAyMDAwLjguMzACAwl61zAJBgUrDgMCGgUAoIICDzAYBgkqhkiG9w0B
CQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0wMzAzMjQxNTAyNDBaMCMGCSqGSIb3
DQEJBDEWBBT7HyGosR07nMNo9KIfGyB5LVD7mzBSBgkqhkiG9w0BCQ8xRTBDMAoGCCqGSIb3
DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0D
AgIBKDCBqwYJKwYBBAGCNxAEMYGdMIGaMIGSMQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2Vz
dGVybiBDYXBlMRIwEAYDVQQHEwlDYXBlIFRvd24xDzANBgNVBAoTBlRoYXd0ZTEdMBsGA1UE
CxMUQ2VydGlmaWNhdGUgU2VydmljZXMxKDAmBgNVBAMTH1BlcnNvbmFsIEZyZWVtYWlsIFJT
QSAyMDAwLjguMzACAwl61zCBrQYLKoZIhvcNAQkQAgsxgZ2ggZowgZIxCzAJBgNVBAYTAlpB
MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEPMA0GA1UEChMG
VGhhd3RlMR0wGwYDVQQLExRDZXJ0aWZpY2F0ZSBTZXJ2aWNlczEoMCYGA1UEAxMfUGVyc29u
YWwgRnJlZW1haWwgUlNBIDIwMDAuOC4zMAIDCXrXMA0GCSqGSIb3DQEBAQUABIIBAI4GRgtx
I0h31KOKucmu7K+pspgSk+ztKlVEao9XCVkODTQD2W1p9rwDXDGEOzuiuYwCmMh7ycDUKIDy
LQ+/GrwXx7INpDFg+EBvpCyvZuIuXIacwLo5ydajs6Psji/RwVljcLDoFg8K6jnbZ9LA2BGe
df3z4nE7Ff5knhnrpRd8vNTXVmslweNifFt3vEe3CNdKVGSGafocCTB9YZ9O9yDMdLbsJkjc
9brAj8dqPYBQY7dc8ljnIyd/PUv8yo4IjQ2Yu6CSaVc9nCogcsC/lEAv3AR+8t6D5Pz044aW
hSAFQnhgL6owtJ/AFVCKl/g3sYXQGk0Zua/wSexjbAcFGMgAAAAAAAA=
--------------ms010405060301050901020708--