mirror of
https://github.com/php/php-src.git
synced 2026-03-24 08:12:21 +01:00
Merge branch 'PHP-8.0'
* PHP-8.0: Revert "Fix #79908: json_encode encodes negative zero as int"
This commit is contained in:
@@ -84,8 +84,7 @@ static inline void php_json_encode_double(smart_str *buf, double d, int options)
|
||||
|
||||
php_gcvt(d, (int)PG(serialize_precision), '.', 'e', num);
|
||||
len = strlen(num);
|
||||
if ((options & PHP_JSON_PRESERVE_ZERO_FRACTION && strchr(num, '.') == NULL && len < PHP_DOUBLE_MAX_LENGTH - 2)
|
||||
|| (UNEXPECTED(len == 2 && num[0] == '-' && num[1] == '0'))) {
|
||||
if (options & PHP_JSON_PRESERVE_ZERO_FRACTION && strchr(num, '.') == NULL && len < PHP_DOUBLE_MAX_LENGTH - 2) {
|
||||
num[len++] = '.';
|
||||
num[len++] = '0';
|
||||
num[len] = '\0';
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
--TEST--
|
||||
Bug #79908 (json_encode encodes negative zero as int)
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!extension_loaded('json')) die("skip json extension not available");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
var_dump(json_encode(-0.));
|
||||
?>
|
||||
--EXPECT--
|
||||
string(4) "-0.0"
|
||||
Reference in New Issue
Block a user