Commit Graph

167 Commits

Author SHA1 Message Date
Andrea Faulds
8495d63034 Better test: Check combined leading/trailing 2013-10-15 20:42:31 +00:00
Andrea Faulds
2524428504 Fixed whitespace part of bug #64874 ("json_decode handles whitespace and case-sensitivity incorrectly") 2013-09-17 19:09:52 +00:00
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Adam Harvey
2d1694d4eb Alter php_json_decode_ex() to respect JSON_BIGINT_AS_STRING for bare numbers.
Fixes bug #63737 (json_decode does not properly decode with options parameter).
2012-12-11 19:51:30 +08:00
Remi Collet
7751a68824 Related bug #63588 fix length computation + optimize for speed
Following comment from Yoram "The patch looks fine, except of testing
for true value of utf16 in each iteration."
Also fix the length computation during check phase.
2012-11-26 12:59:08 +01:00
Remi Collet
289bb339c9 Fixed bug #63588 Duplicate implementation of php_next_utf8_char
Json use an utf8 parser from a third party library, switch to
our implementation of php_next_utf8_char.
This also helps on solving #63520. All the unit tests succeed.
Our implementation also seems a little faster.

json.dsp need to be regenerated.
2012-11-25 08:14:23 +01:00
Nikita Popov
b7903f9778 Revert JSON merges to 5.4
This reverts the following merge commits (-m 1):

405ebfcd18
d372b33c9b
36fa17a5fa
2012-07-01 16:38:26 +02:00
Stanislav Malyshev
b741d3315b fix bug #61359: json_encode() calls too many reallocs 2012-06-30 19:14:30 -07:00
Nikita Popov
405ebfcd18 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Add json_last_error_msg() function
2012-06-28 20:18:19 +02:00
Nikita Popov
974324676b Add json_last_error_msg() function
This replaces json_last_error(true) and is consistent with other custom
error handling functions.
2012-06-28 20:11:27 +02:00
Nikita Popov
d372b33c9b Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Improve JSON error handling

Conflicts:
	ext/json/tests/bug54058.phpt
	ext/json/tests/bug61537.phpt
2012-06-27 12:28:55 +02:00
Nikita Popov
4662151ea7 Improve JSON error handling
json_encode() no longer throws warnings. Instead only the error code for
json_last_error() is set.

As it is hard to debug the error from just an error code an optional
$as_string parameter was added to json_last_error(), which returns an
error message instead of an error code.
2012-06-27 12:21:48 +02:00
Nikita Popov
36fa17a5fa Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Improve json_encode error handling
  - BFN

Conflicts:
	ext/json/json.c
2012-06-23 21:14:45 +02:00
Nikita Popov
84fe2cc890 Improve json_encode error handling
json_encode() now returns bool(false) for all possible errors, throws the
respective warning and also sets the respective json_last_error() error
code. Three new error codes have been added:

  * JSON_ERROR_RECURSION
  * JSON_ERROR_INF_OR_NAN
  * JSON_ERROR_UNSUPPORTED_TYPE

To get a partial JSON output instead of bool(false) the option
JSON_PARTIAL_OUTPUT_ON_ERROR can be specified. In this case the invalid
segments will be replaced either by null (for recursion, unsupported type
and invalid JSON) or 0 (for Inf and NaN).

The warning for invalid UTF-8 stays intact and is thrown also with
display_errors = On. If this behavior is undesired this can be remedied
later.
2012-06-23 20:51:52 +02:00
Stanislav Malyshev
d84fa39667 Revert "Update test to fix breakage caused by the previous commit."
This reverts commit 05c8d4766c.
Connected to revert 7bbd5521d2.
2012-05-15 23:25:06 -07:00
Felipe Pena
92bc49b2b0 - Fixed bug #61978 (Object recursion not detected for classes that implement JsonSerializable) 2012-05-08 21:05:51 -03:00
Stanislav Malyshev
7bbd5521d2 Revert "Fix bug #61537 (json_encode() incorrectly truncates/discards information) and"
This reverts commit cb2a1c71c9.
The fix is not correct, not fixed after discussion on github.
Please fix the issues and reapply the patch
2012-05-01 23:54:10 -07:00
Adam Harvey
05c8d4766c Update test to fix breakage caused by the previous commit. 2012-04-11 08:29:39 +08:00
Adam Harvey
cb2a1c71c9 Fix bug #61537 (json_encode() incorrectly truncates/discards information) and
remove a test case that's now mooted by this fix.
2012-04-11 08:29:39 +08:00
Adam Harvey
3f3ad30c50 Fix bug #61537 (json_encode() incorrectly truncates/discards information) and
remove a test case that's now mooted by this fix.
2012-04-11 08:24:38 +08:00
David Soria Parra
71d894cd42 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Adding Braces in json.c to conform with coding standards
2012-03-20 17:29:20 +01:00
Matt Nowack
76ef76d2f8 Adding Braces in json.c to conform with coding standards 2012-03-20 17:29:04 +01:00
Felipe Pena
e4ca0ed09f - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +00:00
Ilia Alshanetsky
199b52c1d4 Fixed bug #55543 (json_encode() with JSON_NUMERIC_CHECK fails on objects with numeric string properties) 2011-10-17 23:51:25 +00:00
Ilia Alshanetsky
d4ae4e79db Fixed bug #55543 (json_encode() with JSON_NUMERIC_CHECK fails on objects with numeric string properties) 2011-10-17 23:51:25 +00:00
Gwynne Raskind
81ee8a6c7b Add test for #53946 to 5.4 (missed it when committing revision 315707) 2011-08-29 14:57:53 +00:00
Gwynne Raskind
06292974b1 Add unescaped Unicode encoding to json_encode(). Closes bug #53946. Patch by Irker and Gwynne. 2011-08-29 14:56:19 +00:00
Felipe Pena
783b05326a - Added missing PHP_FE_END/ZEND_FE_END 2011-08-06 01:22:27 +00:00
Felipe Pena
23e438594d - Make usage of new PHP_FE_END macro 2011-07-25 11:42:53 +00:00
Felipe Pena
4b30846b50 - Make usage of new PHP_FE_END macro 2011-07-25 11:35:02 +00:00
Christopher Jones
52cc62d825 Remove duplicate lines present in PHP_5_3's .phpt (dtajchreber) 2011-06-17 21:42:40 +00:00
Ilia Alshanetsky
f4f2aa7583 Fixed bug #54484 (Empty string in json_decode doesn't reset json_last_error()). 2011-06-01 09:44:38 +00:00
Ilia Alshanetsky
a7dfb31557 Fixed bug #54484 (Empty string in json_decode doesn't reset json_last_error()). 2011-06-01 09:44:38 +00:00
Peter Cowburn
e77bd31f3f fix method name in JsonSerializable exception message 2011-04-30 12:57:23 +00:00
Scott MacVicar
ecb9d8019c Fix Bug #54058, invalid utf-8 doesn't set json_encode() in all cases 2011-02-21 08:09:02 +00:00
Scott MacVicar
3242016f28 Fix Bug #54058, invalid utf-8 doesn't set json_encode() in all cases 2011-02-21 08:09:02 +00:00
Scott MacVicar
9b567fea6a Fix Bug #53963, error code isn't always set in certain error cases. 2011-02-09 08:05:00 +00:00
Scott MacVicar
18b7f018e3 Fix Bug #53963, error code isn't always set in certain error cases. 2011-02-09 08:05:00 +00:00
Felipe Pena
927bf09c29 - Year++ 2011-01-01 02:19:59 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Pierre Joye
a7ffa09e18 - add PHP_INSTALL_HEADERS to all parts (core&exts) exposing headers, generate the install-headers cmd 2010-12-11 22:18:10 +00:00
Adam Harvey
cb9c8233fc Implement FR #44331 (Formatting option for json_encode). Bikeshedding about the
exact form of the JSON pretty printing and brace handling will only be accepted
in the form of patches. ;)
2010-09-16 16:21:15 +00:00
Adam Harvey
d8b8d22a0d Rebalance the folds in json.c. 2010-09-16 14:15:19 +00:00
Adam Harvey
726fe638bb Implemented FR #49366 (Make slash escaping optional in json_encode()). 2010-09-16 13:53:27 +00:00
Adam Harvey
3c93eab5a3 Fix English in the error message emitted when json_decode() is called with
depth <= 0.
2010-09-14 03:46:28 +00:00
Adam Harvey
1f06a6a4e8 Fix English in the error message emitted when json_decode() is called with
depth <= 0.
2010-09-14 03:46:28 +00:00
Scott MacVicar
e1ce0a64ea Fix bug #52262 - Invalid UTF-8 documents don't set an error code when they fail to decode. 2010-07-06 17:01:30 +00:00
Scott MacVicar
bc74861cf8 Fix bug #52262 - Invalid UTF-8 documents don't set an error code when they fail to decode. 2010-07-06 17:01:30 +00:00
Sara Golemon
a0269a6a72 Ooops, return values... 2010-05-21 23:29:34 +00:00