summaryrefslogtreecommitdiff
path: root/ext/json
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge branch 'PHP-7.4'Nikita Popov2019-09-191-33/+4
|\ \ | |/
| * Clean up JSON parserNikita Popov2019-09-191-33/+4
| | | | | | | | | | | | | | | | | | | | Don't use <value> type for JSON tokens that don't have a value and remove the errlex productions -- we're going to get an unexpected token error anyway, there's no need to handle these explicitly. This also removes the awkward workarounds for the unused value warnings.
* | Merge branch 'PHP-7.4'Christoph M. Becker2019-09-041-0/+2
|\ \ | |/ | | | | | | * PHP-7.4: Add the last missing SKIPIF
| * Add the last missing SKIPIFFabien Villepinte2019-09-041-0/+2
| |
* | Support regenerating all stubsNikita Popov2019-08-121-1/+1
| |
* | Convert json functions arginfo to php stubsCraig Duncan2019-08-103-21/+32
| | | | | | | | Closes GH-4500
* | Merge branch 'PHP-7.4'Peter Kokot2019-07-242-2/+3
|\ \ | |/ | | | | | | * PHP-7.4: Bump PHP_JSON_VERSION to PHP_VERSION
| * Bump PHP_JSON_VERSION to PHP_VERSIONPeter Kokot2019-07-242-2/+3
| | | | | | | | Closes GH-4459
* | Merge branch 'PHP-7.4'Nikita Popov2019-06-121-1/+1
|\ \ | |/
| * Use %define api.pure instead of %pure-parserNikita Popov2019-06-121-1/+1
| | | | | | | | | | %pure-parser is deprecated. In our case there is no difference between true & full, as we don't use locations.
* | Merge branch 'PHP-7.4'Peter Kokot2019-05-121-2/+0
|\ \ | |/ | | | | | | * PHP-7.4: Normalize comments in *nix build system m4 files
| * Normalize comments in *nix build system m4 filesPeter Kokot2019-05-121-2/+0
| | | | | | | | | | | | | | | | | | Normalization include: - Use dnl for everything that can be ommitted when configure is built in favor of the shell comment character # which is visible in the output. - Line length normalized to 80 columns - Dots for most of the one line sentences - Macro definitions include similar pattern header comments now
* | Merge branch 'PHP-7.4'Nikita Popov2019-04-291-0/+16
|\ \ | |/
| * Adds json_encode test for unpacked arraysJury2019-04-291-0/+16
| |
* | Merge branch 'PHP-7.4'Nikita Popov2019-04-232-2/+35
|\ \ | |/
| * Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2019-04-232-2/+35
| |\
| | * Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-04-232-2/+35
| | |\
| | | * Fixed bug #77843Nikita Popov2019-04-232-2/+35
| | | |
| | | * Sync leading and final newlines in *.phpt sectionsPeter Kokot2018-10-155-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines in all *.phpt sections. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| | | * Trim trailing whitespace in *.phptPeter Kokot2018-10-1414-21/+21
| | | |
| | | * Sync leading and final newlines in source code filesPeter Kokot2018-10-145-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| | | * Trim trailing whitespace in source code filesPeter Kokot2018-10-131-1/+1
| | | |
| | | * year++Xinchen Hui2018-01-0210-10/+10
| | | |
| | * | Sync leading and final newlines in *.phpt sectionsPeter Kokot2018-10-155-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines in all *.phpt sections. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| | * | Trim trailing whitespace in *.phptPeter Kokot2018-10-1414-21/+21
| | | |
| | * | Sync leading and final newlines in source code filesPeter Kokot2018-10-145-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| | * | Trim trailing whitespace in source code filesPeter Kokot2018-10-131-1/+1
| | | |
* | | | Merge branch 'PHP-7.4'Peter Kokot2019-03-191-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: Upgrade deprecated directives and use non-posix bison
| * | | Upgrade deprecated directives and use non-posix bisonPeter Kokot2019-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With Bison 3.0 some directives are deprecated: - %name-prefix "x" should be %define api.prefix {x} - %error-verbose should be %define parse.error verbose Bison 3.3 also started emiting more warnings and since PHP souce parsers are not POSIX compliant this patch fixes this as pointed out via 495a46aa1dc564656bf919cb49aae48a31ae15f4.
* | | | Merge branch 'PHP-7.4'Dmitry Stogov2019-03-181-73/+68
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: Optimization for ASCII data
| * | | Optimization for ASCII dataDmitry Stogov2019-03-181-73/+68
| | | |
* | | | Merge branch 'PHP-7.4'Peter Kokot2019-03-171-16/+0
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: Remove outdated README for ext/json
| * | | Remove outdated README for ext/jsonPeter Kokot2019-03-171-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | The php manual already includes introduction to the JSON extension. The re2c and bison version required to build parser and lexer files have changed so to move this info on a central place this removes the README.
* | | | Adjust tests for zpp TypeError changeNikita Popov2019-03-114-37/+15
| | | |
* | | | Merge branch 'PHP-7.4'Nikita Popov2019-03-111-1/+1
|\ \ \ \ | |/ / /
| * | | Remove function_table var from the callerc9s2019-03-111-1/+1
| | | | | | | | | | | | | | | | | | | | function_table var is not used in call_user_function macro anymore hence replace the usage with NULL
* | | | Merge branch 'PHP-7.4'Peter Kokot2019-03-071-2/+5
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: Add AS_HELP_STRING to *nix build configure options
| * | | Add AS_HELP_STRING to *nix build configure optionsPeter Kokot2019-03-071-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Autoconf's default AS_HELP_STRING macro can properly format help strings [1] so watching out if columns are aligned manually is not anymore. [1] https://www.gnu.org/software/autoconf/manual/autoconf.html#Pretty-Help-Strings
* | | | Merge branch 'PHP-7.4'Nikita Popov2019-03-071-28/+0
|\ \ \ \ | |/ / /
| * | | More zpp error/variation test removalsNikita Popov2019-03-071-28/+0
| | | |
* | | | Merge branch 'PHP-7.4'Peter Kokot2019-03-011-1/+0
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: Remove obsolescent AC_HEADER_STDC and memcpy check
| * | | Remove obsolescent AC_HEADER_STDC and memcpy checkPeter Kokot2019-03-011-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Autoconf 2.59d (released in 2006) [1] started promoting several macros as not relevant for newer systems anymore, including the `AC_HEADER_STDC`. This macro checks if given system has C89 compliant header files such as `<string.h>`, `<stdlib.h>`, `<stdarg.h>`, `<float.h>`,... and defines the `STDC_HEADERS` symbol [2]. Case is that current systems should be well supported with at least C89 standard headers [3]. Given headers are still additionally checked with the `AC_PROG_CC` macro, yet not needed anyway. Additionally, the HAVE_MEMCPY check has been removed. The memcpy function is standardized by C89 and later. Refs: [1] http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS [2] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/autoconf.html [3] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2
* | | | Refactor zend_object_handlers API to pass zend_object* and zend_string* ↵Dmitry Stogov2019-02-041-3/+1
|/ / / | | | | | | | | | insted of zval(s).
* | | Remove local variablesPeter Kokot2019-02-033-27/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly used by Vim and Emacs editors yet with recent changes the once working definitions don't work anymore in Vim without custom plugins or additional configuration. Neither are these settings synced across the PHP code base. A simpler and better approach is EditorConfig and fixing code using some code style fixing tools in the future instead. This patch also removes the so called modelines for Vim. Modelines allow Vim editor specifically to set some editor configuration such as syntax highlighting, indentation style and tab width to be set in the first line or the last 5 lines per file basis. Since the php test files have syntax highlighting already set in most editors properly and EditorConfig takes care of the indentation settings, this patch removes these as well for the Vim 6.0 and newer versions. With the removal of local variables for certain editors such as Emacs and Vim, the footer is also probably not needed anymore when creating extensions using ext_skel.php script. Additionally, Vim modelines for setting php syntax and some editor settings has been removed from some *.phpt files. All these are mostly not relevant for phpt files neither work properly in the middle of the file.
* | | Remove yearly range from copyright noticeZeev Suraski2019-01-308-8/+8
| | |
* | | Remove lexer files generated by RE2CPeter Kokot2018-11-112-1669/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes generated lexer files by re2c during the build process so they are not tracked by Git yet can be still shipped when PHP is released. The genfiles script additionally provides generation of these lexer files when creating a release of the PHP source code. The genfiles script refactorings: - added file header - echoing steps instead of comments - cleaning only lines starting with `#line` - eval removed in favor of direct executed commands - the debug mode `set -x` removed - script can be called from any path - improved comments
* | | Remove ext/json parser files generated by bisonPeter Kokot2018-10-243-2066/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The parser files for ext/json are generated by bison from the *.y file. Parser files in Zend and sapi/phpdbg already follow such approach of these files being ignored from tracking in the Git repository and they are shipped via the release packages later on. This way the end users still don't need to have bison dependency installed to install PHP. The genfiles script was refactored to generate the ext/json parser and lexer files.
* | | Sync leading and final newlines in *.phpt sectionsPeter Kokot2018-10-155-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines in all *.phpt sections. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
* | | Trim trailing whitespace in testsGabriel Caruso2018-10-1414-21/+21
| | |
* | | Sync leading and final newlines in source code filesPeter Kokot2018-10-145-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2