- Fixed bug #39903 (Notice message when executing __halt_compiler() more than
once). (Tony)
- Fixed bug #39898 (FILTER_VALIDATE_URL validates \r\n\t etc). (Ilia)
+- Fixed bug #39873 (number_format() breaks with locale & decimal points).
+ (Ilia)
- Fixed bug #39869 (safe_read does not initialize errno).
(michiel at boland dot org, Dmitry)
- Fixed bug #39850 (SplFileObject throws contradictory/wrong error messages
}
/* find decimal point, if expected */
- dp = dec ? strchr(tmpbuf, '.') : NULL;
+ if (dec) {
+ dp = strpbrk(tmpbuf, ".,");
+ } else {
+ dp = NULL;
+ }
/* calculate the length of the return buffer */
if (dp) {
--- /dev/null
+--TEST--
+Bug #39873 (number_format() breaks with locale & decimal points)
+--SKIPIF--
+<?php
+if (!setlocale(LC_ALL, "ita","it","Italian","it_IT","it_IT.ISO8859-1","it_IT.ISO_8859-1")) {
+ die("skip locale needed for this test is not supported on this platform");
+}
+?>
+--FILE--
+<?php
+ setlocale(LC_ALL, "ita","it","Italian","it_IT","it_IT.ISO8859-1","it_IT.ISO_8859-1");
+ $num = 0+"1234.56";
+ echo number_format($num,2);
+ echo "\n";
+?>
+--EXPECT--
+1,234.56