iliaa Wed Jun 13 17:56:41 2007 UTC
Modified files: (Branch: PHP_5_2)
/php-src/ext/json JSON_parser.c
Log:
Handle very small longs via double
http://cvs.php.net/viewvc.cgi/php-src/ext/json/JSON_parser.c?r1=1.1.2.11&r2=1.1.2.12&diff_format=u
Index: php-src/ext/json/JSON_parser.c
diff -u php-src/ext/json/JSON_parser.c:1.1.2.11
php-src/ext/json/JSON_parser.c:1.1.2.12
--- php-src/ext/json/JSON_parser.c:1.1.2.11 Wed Jun 13 17:07:58 2007
+++ php-src/ext/json/JSON_parser.c Wed Jun 13 17:56:41 2007
@@ -285,7 +285,7 @@
if (type == IS_LONG)
{
double d = zend_strtod(buf->c, NULL);
- if (d > LONG_MAX) {
+ if (d > LONG_MAX || d < -LONG_MAX) {
ZVAL_DOUBLE(*z, d);
} else {
ZVAL_LONG(*z, (long)d);
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php