cvs: php4 /ext/standard var_unserializer.re /ext/standard/tests/serialize 003.phpt
| From: | Sander Roobol | Date: | Mon, 19 Aug 2002 19:45:47 +0000 |
| Subject: | cvs: php4 /ext/standard var_unserializer.re /ext/standard/tests/serialize 003.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-13470@lists.php.net to get a copy of this message | ||
sander Mon Aug 19 15:45:47 2002 EDT
Added files:
/php4/ext/standard/tests/serialize 003.phpt
Modified files:
/php4/ext/standard var_unserializer.re
Log:
Made unserialize handle floats with an E notation - bug #18654
Patch by Christophe Sollet <csollet@coleebris.com>.
(I'll commit a new var_unserializer.c in a second)
Index: php4/ext/standard/var_unserializer.re
diff -u php4/ext/standard/var_unserializer.re:1.10 php4/ext/standard/var_unserializer.re:1.11
--- php4/ext/standard/var_unserializer.re:1.10 Sun Aug 18 08:22:28 2002
+++ php4/ext/standard/var_unserializer.re Mon Aug 19 15:45:46 2002
@@ -92,7 +92,7 @@
/*!re2c
iv = [+-]? [0-9]+;
nv = [+-]? ([0-9]* "." [0-9]+|[0-9]+ "." [0-9]+);
-nvexp = nv [eE] [+-]? iv;
+nvexp = (iv | nv) [eE] [+-]? iv;
any = [\000-\277];
*/
Index: php4/ext/standard/tests/serialize/003.phpt
+++ php4/ext/standard/tests/serialize/003.phpt
--TEST--
unserialize() floats with E notation (#18654)
--POST--
--GET--
--FILE--
<?php
foreach(array(1e2, 5.2e25, 85.29e-23, 9e-9) AS $value) {
echo ($ser = serialize($value))."\n";
var_dump(unserialize($ser));
echo "\n";
}
?>
--EXPECT--
d:100;
float(100)
d:5.2E+25;
float(5.2E+25)
d:8.529E-22;
float(8.529E-22)
d:9E-09;
float(9.E-9)