mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Merge branch 'PHP-5.6'
This commit is contained in:
commit
a833f7d460
2 changed files with 72 additions and 3 deletions
|
@ -712,14 +712,14 @@ PHP_JSON_API void php_json_decode_ex(zval *return_value, char *str, int str_len,
|
|||
|
||||
RETVAL_NULL();
|
||||
if (trim_len == 4) {
|
||||
if (!strncasecmp(trim, "null", trim_len)) {
|
||||
if (!strncmp(trim, "null", trim_len)) {
|
||||
/* We need to explicitly clear the error because its an actual NULL and not an error */
|
||||
jp->error_code = PHP_JSON_ERROR_NONE;
|
||||
RETVAL_NULL();
|
||||
} else if (!strncasecmp(trim, "true", trim_len)) {
|
||||
} else if (!strncmp(trim, "true", trim_len)) {
|
||||
RETVAL_BOOL(1);
|
||||
}
|
||||
} else if (trim_len == 5 && !strncasecmp(trim, "false", trim_len)) {
|
||||
} else if (trim_len == 5 && !strncmp(trim, "false", trim_len)) {
|
||||
RETVAL_BOOL(0);
|
||||
}
|
||||
|
||||
|
|
69
ext/json/tests/bug64874_part2.phpt
Normal file
69
ext/json/tests/bug64874_part2.phpt
Normal file
|
@ -0,0 +1,69 @@
|
|||
--TEST--
|
||||
Case-sensitivity part of bug #64874 ("json_decode handles whitespace and case-sensitivity incorrectly")
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("json")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
function decode($json) {
|
||||
var_dump(json_decode($json));
|
||||
echo ((json_last_error() !== 0) ? 'ERROR' : 'SUCCESS') . PHP_EOL;
|
||||
}
|
||||
|
||||
// Only lowercase should work
|
||||
decode('true');
|
||||
decode('True');
|
||||
decode('[true]');
|
||||
decode('[True]');
|
||||
echo PHP_EOL;
|
||||
|
||||
decode('false');
|
||||
decode('False');
|
||||
decode('[false]');
|
||||
decode('[False]');
|
||||
echo PHP_EOL;
|
||||
|
||||
decode('null');
|
||||
decode('Null');
|
||||
decode('[null]');
|
||||
decode('[Null]');
|
||||
echo PHP_EOL;
|
||||
|
||||
echo "Done\n";
|
||||
--EXPECT--
|
||||
bool(true)
|
||||
SUCCESS
|
||||
NULL
|
||||
ERROR
|
||||
array(1) {
|
||||
[0]=>
|
||||
bool(true)
|
||||
}
|
||||
SUCCESS
|
||||
NULL
|
||||
ERROR
|
||||
|
||||
bool(false)
|
||||
SUCCESS
|
||||
NULL
|
||||
ERROR
|
||||
array(1) {
|
||||
[0]=>
|
||||
bool(false)
|
||||
}
|
||||
SUCCESS
|
||||
NULL
|
||||
ERROR
|
||||
|
||||
NULL
|
||||
SUCCESS
|
||||
NULL
|
||||
ERROR
|
||||
array(1) {
|
||||
[0]=>
|
||||
NULL
|
||||
}
|
||||
SUCCESS
|
||||
NULL
|
||||
ERROR
|
||||
|
||||
Done
|
Loading…
Add table
Add a link
Reference in a new issue