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

Reply via email to