svn: php/php-src/trunk/ext/json/ JSON_parser.h json.c

From: Date: Wed, 22 Jul 2009 21:32:58 +0000
Subject: svn: php/php-src/trunk/ext/json/ JSON_parser.h json.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-59735@lists.php.net to get a copy of this message
rasmus Wed, 22 Jul 2009 21:32:58 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=284625 Log: There is no error code set for json_last_error if an invalid utf8 sequence is encountered. This fixes that. Might be worthwhile to merge to 5.3 despite the new constant. Changed paths: U php/php-src/trunk/ext/json/JSON_parser.h U php/php-src/trunk/ext/json/json.c Modified: php/php-src/trunk/ext/json/JSON_parser.h =================================================================== --- php/php-src/trunk/ext/json/JSON_parser.h 2009-07-22 20:21:39 UTC (rev 284624) +++ php/php-src/trunk/ext/json/JSON_parser.h 2009-07-22 21:32:58 UTC (rev 284625) @@ -24,6 +24,7 @@ PHP_JSON_ERROR_STATE_MISMATCH, PHP_JSON_ERROR_CTRL_CHAR, PHP_JSON_ERROR_SYNTAX, + PHP_JSON_ERROR_UTF8, }; extern JSON_parser new_JSON_parser(int depth); Modified: php/php-src/trunk/ext/json/json.c =================================================================== --- php/php-src/trunk/ext/json/json.c 2009-07-22 20:21:39 UTC (rev 284624) +++ php/php-src/trunk/ext/json/json.c 2009-07-22 21:32:58 UTC (rev 284625) @@ -93,6 +93,7 @@ REGISTER_LONG_CONSTANT("JSON_ERROR_STATE_MISMATCH", PHP_JSON_ERROR_STATE_MISMATCH, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("JSON_ERROR_CTRL_CHAR", PHP_JSON_ERROR_CTRL_CHAR, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("JSON_ERROR_SYNTAX", PHP_JSON_ERROR_SYNTAX, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("JSON_ERROR_UTF8", PHP_JSON_ERROR_UTF8, CONST_CS | CONST_PERSISTENT); return SUCCESS; } @@ -311,6 +312,7 @@ efree(utf16); } if (len < 0) { + JSON_G(error_code) = PHP_JSON_ERROR_UTF8; if (!PG(display_errors)) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid UTF-8 sequence in argument"); } @@ -538,6 +540,7 @@ if (utf16) { efree(utf16); } + JSON_G(error_code) = PHP_JSON_ERROR_UTF8; RETURN_NULL(); } }

« previous php.cvs (#59735) next »