iliaa Wed Jan 26 11:55:49 2005 EDT
Modified files: (Branch: PHP_5_0)
/php-src/ext/standard var_unserializer.c var_unserializer.re
/php-src NEWS
Log:
MFH: Fixed bug #31699 (unserialize() float problem on non-English locales).
http://cvs.php.net/diff.php/php-src/ext/standard/var_unserializer.c?r1=1.38.2.8&r2=1.38.2.9&ty=u
Index: php-src/ext/standard/var_unserializer.c
diff -u php-src/ext/standard/var_unserializer.c:1.38.2.8
php-src/ext/standard/var_unserializer.c:1.38.2.9
--- php-src/ext/standard/var_unserializer.c:1.38.2.8 Tue Jan 18 05:59:20 2005
+++ php-src/ext/standard/var_unserializer.c Wed Jan 26 11:55:49 2005
@@ -1,5 +1,5 @@
-/* Generated by re2c 0.9.4 on Sat Sep 25 00:07:00 2004 */
-#line 1 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+/* Generated by re2c 0.9.3 on Wed Jan 26 11:12:49 2005 */
+#line 1 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: var_unserializer.c,v 1.38.2.8 2005/01/18 10:59:20 sniper Exp $ */
+/* $Id: var_unserializer.c,v 1.38.2.9 2005/01/26 16:55:49 iliaa Exp $ */
#include "php.h"
#include "ext/standard/php_var.h"
@@ -147,7 +147,7 @@
#define YYMARKER marker
-#line 118 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 154 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
@@ -406,7 +406,7 @@
goto yy16;
} else {
if(yych <= '}') goto yy14;
- if(yych <= 0xBF) goto yy16;
+ if(yych <= '\277') goto yy16;
goto yy2;
}
}
@@ -420,7 +420,7 @@
if(yych == ':') goto yy87;
goto yy4;
yy4:
-#line 532 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 576 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{ return 0; }
#line 102 "<stdout>"
yy5: yyaccept = 0;
@@ -461,7 +461,7 @@
yy14: ++YYCURSOR;
goto yy15;
yy15:
-#line 526 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 570 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{
/* this is the case where we have less data than planned */
php_error_docref(NULL TSRMLS_CC, E_NOTICE, "Unexpected end of
serialized data");
@@ -490,7 +490,7 @@
yy22: ++YYCURSOR;
goto yy23;
yy23:
-#line 433 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 477 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{
size_t len, len2, maxlen;
int elements;
@@ -612,7 +612,7 @@
yy29: ++YYCURSOR;
goto yy30;
yy30:
-#line 425 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 469 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{
INIT_PZVAL(*rval);
@@ -644,7 +644,7 @@
yy36: ++YYCURSOR;
goto yy37;
yy37:
-#line 407 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 451 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{
int elements = parse_iv(start + 2);
@@ -686,7 +686,7 @@
yy43: ++YYCURSOR;
goto yy44;
yy44:
-#line 379 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 423 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{
size_t len, maxlen;
char *str;
@@ -803,11 +803,11 @@
yy55: ++YYCURSOR;
goto yy56;
yy56:
-#line 372 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 416 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{
*p = YYCURSOR;
INIT_PZVAL(*rval);
- ZVAL_DOUBLE(*rval, atof(start + 2));
+ ZVAL_DOUBLE(*rval, zend_strtod(start + 2, NULL));
return 1;
}
#line 496 "<stdout>"
@@ -870,12 +870,12 @@
yy66: ++YYCURSOR;
goto yy67;
yy67:
-#line 355 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 399 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{
*p = YYCURSOR;
INIT_PZVAL(*rval);
#if defined(HAVE_ATOF_ACCEPTS_NAN) && defined(HAVE_ATOF_ACCEPTS_INF)
- ZVAL_DOUBLE(*rval, atof(start + 2));
+ ZVAL_DOUBLE(*rval, zend_strtod(start + 2, NULL));
#else
if (!strncmp(start + 2, "NAN", 3)) {
ZVAL_DOUBLE(*rval, php_get_nan());
@@ -916,7 +916,7 @@
yy73: ++YYCURSOR;
goto yy74;
yy74:
-#line 348 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 392 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{
*p = YYCURSOR;
INIT_PZVAL(*rval);
@@ -934,7 +934,7 @@
yy77: ++YYCURSOR;
goto yy78;
yy78:
-#line 341 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 385 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{
*p = YYCURSOR;
INIT_PZVAL(*rval);
@@ -945,7 +945,7 @@
yy79: ++YYCURSOR;
goto yy80;
yy80:
-#line 334 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 378 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{
*p = YYCURSOR;
INIT_PZVAL(*rval);
@@ -978,7 +978,7 @@
yy85: ++YYCURSOR;
goto yy86;
yy86:
-#line 313 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 355 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{
int id;
@@ -1001,7 +1001,7 @@
return 1;
}
-#line 689 "<stdout>"
+#line 691 "<stdout>"
yy87: yych = *++YYCURSOR;
if(yych <= ','){
if(yych != '+') goto yy2;
@@ -1027,7 +1027,7 @@
yy91: ++YYCURSOR;
goto yy92;
yy92:
-#line 292 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 334 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
{
int id;
@@ -1048,9 +1048,9 @@
return 1;
}
-#line 737 "<stdout>"
+#line 739 "<stdout>"
}
-#line 534 "/usr/src/PHP_5_0/ext/standard/var_unserializer.re"
+#line 578 "/home/rei/php_dev/php5/ext/standard/var_unserializer.re"
return 0;
http://cvs.php.net/diff.php/php-src/ext/standard/var_unserializer.re?r1=1.27.2.7&r2=1.27.2.8&ty=u
Index: php-src/ext/standard/var_unserializer.re
diff -u php-src/ext/standard/var_unserializer.re:1.27.2.7
php-src/ext/standard/var_unserializer.re:1.27.2.8
--- php-src/ext/standard/var_unserializer.re:1.27.2.7 Mon Jan 17 07:13:33 2005
+++ php-src/ext/standard/var_unserializer.re Wed Jan 26 11:55:49 2005
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: var_unserializer.re,v 1.27.2.7 2005/01/17 12:13:33 sesser Exp $ */
+/* $Id: var_unserializer.re,v 1.27.2.8 2005/01/26 16:55:49 iliaa Exp $ */
#include "php.h"
#include "ext/standard/php_var.h"
@@ -400,7 +400,7 @@
*p = YYCURSOR;
INIT_PZVAL(*rval);
#if defined(HAVE_ATOF_ACCEPTS_NAN) && defined(HAVE_ATOF_ACCEPTS_INF)
- ZVAL_DOUBLE(*rval, atof(start + 2));
+ ZVAL_DOUBLE(*rval, zend_strtod(start + 2, NULL));
#else
if (!strncmp(start + 2, "NAN", 3)) {
ZVAL_DOUBLE(*rval, php_get_nan());
@@ -416,7 +416,7 @@
"d:" (iv | nv | nvexp) ";" {
*p = YYCURSOR;
INIT_PZVAL(*rval);
- ZVAL_DOUBLE(*rval, atof(start + 2));
+ ZVAL_DOUBLE(*rval, zend_strtod(start + 2, NULL));
return 1;
}
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1760.2.217&r2=1.1760.2.218&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1760.2.217 php-src/NEWS:1.1760.2.218
--- php-src/NEWS:1.1760.2.217 Tue Jan 25 19:02:45 2005
+++ php-src/NEWS Wed Jan 26 11:55:49 2005
@@ -11,6 +11,7 @@
- Fixed a bug in mysqli_stmt_execute() (type conversion with NULL values).
(Georg)
- Fixed bug #31684 (dio_tcsetattr(): misconfigured termios settings).
(elod at itfais dot com)
+- Fixed bug #31699 (unserialize() float problem on non-English locales). (Ilia)
- Fixed bug #31651 (ReflectionClass::getDefaultProperties segfaults with
arrays).
(Marcus)
- Fixed bug #31623 (OCILogin does not support password grace period).
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php