#
53aa53f4 |
| 24-Aug-2023 |
Jakub Zelenka |
Introduce Zend guard recursion protection This PR introduces a new way of recursion protection in JSON, var_dump and friends. It fixes issue in master for __debugInfo and also improves
Introduce Zend guard recursion protection This PR introduces a new way of recursion protection in JSON, var_dump and friends. It fixes issue in master for __debugInfo and also improves perf for jsonSerializable in some cases. More info can be found in GH-10020. Closes GH-11812
show more ...
|
#
d5c649b3 |
| 23-Feb-2023 |
Max Kellermann |
zend_compiler, ...: use `uint8_t` instead of `zend_uchar` (#10621) `zend_uchar` suggests that the value is an ASCII character, but here, it's about very small integers. This is misleadi
zend_compiler, ...: use `uint8_t` instead of `zend_uchar` (#10621) `zend_uchar` suggests that the value is an ASCII character, but here, it's about very small integers. This is misleading, so let's use a C99 integer instead. On all architectures currently supported by PHP, `zend_uchar` and `uint8_t` are identical. This change is only about code readability.
show more ...
|
#
6556601b |
| 16-Jan-2023 |
George Peter Banyard |
Add some const qualifiers and better return types to zend_object_handlers.h (#10330) I initially wanted to add them to the zend_strings but because they are used in zend_hash_find() which mi
Add some const qualifiers and better return types to zend_object_handlers.h (#10330) I initially wanted to add them to the zend_strings but because they are used in zend_hash_find() which might modify the hash field.
show more ...
|
#
c8955c07 |
| 16-Jan-2023 |
Christoph M. Becker |
Revert GH-10220 Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>. This reverts commit ecc880f491d66081298a16634629f149459706a9. This reverts commit 588a07
Revert GH-10220 Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816>. This reverts commit ecc880f491d66081298a16634629f149459706a9. This reverts commit 588a07f7371ee2b5fac17de147926780e427fae6. This reverts commit f377e15751d3aa48b69cd9bcc366ede7803d511f. This reverts commit b4ba16fe189b109144aff669e11d81365160104b. This reverts commit 694ec1deea36e366b28b6349a52be49824e1a1a8. This reverts commit 6b34de8eba9f66882ae16e6073af28783670ac53. This reverts commit aa1cd02a4367834026ea2205ea13a2f904455aa1. This reverts commit 308fd311ea6fcf3094b448df7f2b264f08e4fe4f. This reverts commit 16203b53e1822a37b6ba6f2ab198bb435d05fdad. This reverts commit 738fb5ca5412f5e833a7fab82b11519e635a3357. This reverts commit 9fdbefacd3c382d731aa175b7bdc002ec9cb2b30. This reverts commit cd4a7c1d90562ebb5f89caf94d00d579631b9fbe. This reverts commit 928685eba2b2f0ded90e7f78fd806ea164002f6e. This reverts commit 01e5ffc85cd4357fd7b5b7ceefa29f2d10ca26b7.
show more ...
|
#
b4ba16fe |
| 04-Jan-2023 |
Max Kellermann |
Zend/zend_object_handlers: include cleanup
|
#
d48c5372 |
| 03-Jan-2023 |
Max Kellermann |
Zend/zend_object_handlers: make several pointers const
|
Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3, php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3 |
|
#
3b92a966 |
| 25-Jun-2022 |
Ilija Tovilo |
Convert return type of various object handlers from int to zend_result (#8755)
|
Revision tags: php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1, php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1, php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17, php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1, php-8.0.14, php-8.1.1, php-7.4.27, php-8.1.1RC1, php-8.0.14RC1, php-7.4.27RC1, php-8.1.0, php-8.0.13, php-7.4.26, php-7.3.33, php-8.1.0RC6, php-7.4.26RC1, php-8.0.13RC1, php-8.1.0RC5, php-7.3.32, php-7.4.25, php-8.0.12, php-8.1.0RC4, php-8.0.12RC1, php-7.4.25RC1, php-8.1.0RC3, php-8.0.11, php-7.4.24, php-7.3.31, php-8.1.0RC2, php-7.4.24RC1, php-8.0.11RC1, php-8.1.0RC1, php-7.4.23, php-8.0.10, php-7.3.30, php-8.1.0beta3, php-8.0.10RC1, php-7.4.23RC1, php-8.1.0beta2, php-8.0.9, php-7.4.22, php-8.1.0beta1, php-7.4.22RC1, php-8.0.9RC1, php-8.1.0alpha3, php-7.4.21, php-7.3.29, php-8.0.8, php-8.1.0alpha2, php-7.4.21RC1, php-8.0.8RC1, php-8.1.0alpha1, php-8.0.7, php-7.4.20, php-8.0.7RC1, php-7.4.20RC1, php-8.0.6, php-7.4.19, php-7.4.18, php-7.3.28, php-8.0.5, php-8.0.5RC1, php-7.4.18RC1, php-8.0.4RC1, php-7.4.17RC1, php-8.0.3, php-7.4.16 |
|
#
9da66e6a |
| 01-Mar-2021 |
Dmitry Stogov |
Optimized object conversion to array without rebulding properties HashTable
|
Revision tags: php-8.0.3RC1 |
|
#
cb9785ad |
| 16-Feb-2021 |
Nikita Popov |
Fixed bug #80723 This fixes the issue just for the Socket class. Presumably we'll want to do the same for other "resource" objects.
|
Revision tags: php-7.4.16RC1, php-8.0.2, php-7.4.15, php-7.3.27 |
|
#
32dd8536 |
| 01-Feb-2021 |
Levi Morrison |
Document .dtor_obj and .free_obj Closes GH-6656. Co-authored-by: Nikita Popov <nikic@php.net>
|
Revision tags: php-8.0.2RC1, php-7.4.15RC2, php-7.4.15RC1 |
|
#
6a1e74eb |
| 18-Jan-2021 |
sj-i |
Delete an outdated comment for read_property and read_dimension. [ci skip] The comment is outdated as of PHP7. For example, in the current code, zend_assign_op_overloaded_property() expe
Delete an outdated comment for read_property and read_dimension. [ci skip] The comment is outdated as of PHP7. For example, in the current code, zend_assign_op_overloaded_property() expects the refcount of the returned value from read_property to be greater than 0 when the returned value is a refcounted, to call zval_ptr_dtor() later. History: - The same description was originally written in a commit in 2004 alongside the write side. https://github.com/php/php-src/commit/c8c0e979826b677de5f786920289056242ea5c54 - One requested to put the description in somewhere. https://externals.io/message/7789 - Then it was added as a comment in zend_object_handler.h . https://github.com/php/php-src/commit/7d3215d33321173c58db4d86b7398e16c5c55d13 - At the time the comment was written, there were at least three places where the code actually set the reference count to 0 in read_properties. - https://github.com/php/php-src/blob/7d3215d33321173c58db4d86b7398e16c5c55d13/ext/dom/php_dom.c#L229 - https://github.com/php/php-src/blob/7d3215d33321173c58db4d86b7398e16c5c55d13/ext/mysqli/mysqli.c#L190 - https://github.com/php/php-src/blob/7d3215d33321173c58db4d86b7398e16c5c55d13/ext/simplexml/simplexml.c#L245 - All three of the above were removed during the development of PHP 7. - https://github.com/php/php-src/commit/2f0a758fbbf39ff8684d167f86c708cc361db782 - https://github.com/php/php-src/commit/2402d6cbbc5e04362b23b183f9129a8db230bcce - https://github.com/php/php-src/commit/a975c7e0fe95a94c119eb1c8e519b2357aa50dcc - In the current code, even when they generate and return a refcounted value, its refcount would be 1. Closes GH-6618.
show more ...
|
#
3e01f5af |
| 15-Jan-2021 |
Nikita Popov |
Replace zend_bool uses with bool We're starting to see a mix between uses of zend_bool and bool. Replace all usages with the standard bool type everywhere. Of course, zend_bool
Replace zend_bool uses with bool We're starting to see a mix between uses of zend_bool and bool. Replace all usages with the standard bool type everywhere. Of course, zend_bool is retained as an alias.
show more ...
|
#
37b94ac3 |
| 12-Jan-2021 |
sj-i |
Fix #51758: delete an outdated comment from zend_object_handler.h [ci skip] The same description was originally written in a commit in 2004 which fixes a bug in the pre-released simplexml.
Fix #51758: delete an outdated comment from zend_object_handler.h [ci skip] The same description was originally written in a commit in 2004 which fixes a bug in the pre-released simplexml. https://github.com/php/php-src/commit/c8c0e979826b677de5f786920289056242ea5c54 One requested to put the description in somewhere. https://externals.io/message/7789 Then it was added as a comment in zend_object_handler.h . https://github.com/php/php-src/commit/7d3215d33321173c58db4d86b7398e16c5c55d13 At the time of the comment written, the refcount of RHS was simply incremented before calling the write handler in the process of ZEND_ASSIGN_OBJ. https://github.com/php/php-src/blob/c8c0e979826b677de5f786920289056242ea5c54/Zend/zend_execute.c#L407 The refcount of a zval may be 0 or 1 if the write handler is called from zend_API in that era. https://github.com/php/php-src/blob/c8c0e979826b677de5f786920289056242ea5c54/Zend/zend_API.c#L1058-L1170 The original fix in simplexml was removed in 2018, because scalar types don't have reference counter anymore as of PHP7. https://github.com/php/php-src/commit/f7f790fcc9d57bcd0b6d356994c67ec746a5ac23 https://github.com/php/php-src/commit/4a475a4976db92e71949786cdf5990c61514261e It seems that the original intent of this prescription was preventing unintended modification to the RHS and values which share the memory location with the RHS in assignments. In the first place, it is not usual trying to change the RHS in a write handler, IMHO. I don't think the description makes sense in the current situation about handling of refcount, so I simply delete the whole sentences. Because write_dimension has no return value, the mentioning about the return value is moved to the comment for write_property only. Closes GH-6597.
show more ...
|
Revision tags: php-8.0.1, php-7.4.14, php-7.3.26, php-7.4.14RC1, php-8.0.1RC1, php-7.3.26RC1, php-8.0.0, php-7.3.25, php-7.4.13, php-8.0.0RC5, php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24, php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1, php-7.2.34, php-8.0.0rc1, php-7.4.11, php-7.3.23, php-8.0.0beta4, php-7.4.11RC1, php-7.3.23RC1, php-8.0.0beta3, php-7.4.10, php-7.3.22 |
|
#
6c8fb123 |
| 18-Aug-2020 |
Máté Kocsis |
Promote warnings to exceptions in ext/simplexml Closes GH-6011 Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
|
Revision tags: php-8.0.0beta2, php-7.3.22RC1, php-7.4.10RC1, php-8.0.0beta1, php-7.4.9, php-7.2.33, php-7.3.21, php-8.0.0alpha3, php-7.4.9RC1, php-7.3.21RC1, php-7.4.8, php-7.2.32, php-8.0.0alpha2, php-7.3.20, php-8.0.0alpha1, php-7.4.8RC1, php-7.3.20RC1, php-7.4.7, php-7.3.19, php-7.4.7RC1, php-7.3.19RC1, php-7.4.6, php-7.2.31, php-7.4.6RC1, php-7.3.18RC1, php-7.2.30, php-7.4.5, php-7.3.17, php-7.4.5RC1 |
|
#
8fd7f02e |
| 31-Mar-2020 |
Nikita Popov |
Make cast_object handler required Avoid subtle differences in behavior depending on whether the handler is absent or returns FAILURE. If you previously set cast_object to NULL,
Make cast_object handler required Avoid subtle differences in behavior depending on whether the handler is absent or returns FAILURE. If you previously set cast_object to NULL, create a handler that always returns FAILURE instead.
show more ...
|
Revision tags: php-7.3.17RC1, php-7.3.18, php-7.4.4, php-7.2.29, php-7.3.16, php-7.4.4RC1, php-7.3.16RC1, php-7.4.3, php-7.2.28, php-7.3.15RC1, php-7.4.3RC1, php-7.3.15, php-7.2.27, php-7.4.2, php-7.3.14, php-7.3.14RC1, php-7.4.2RC1, php-7.4.1, php-7.2.26, php-7.3.13, php-7.4.1RC1, php-7.3.13RC1, php-7.2.26RC1, php-7.4.0, php-7.2.25, php-7.3.12, php-7.4.0RC6, php-7.3.12RC1, php-7.2.25RC1 |
|
#
c46b2ed6 |
| 04-Nov-2019 |
Nikita Popov |
Remove support for array_key_exists() with objects
|
Revision tags: php-7.4.0RC5, php-7.1.33, php-7.2.24, php-7.3.11, php-7.4.0RC4, php-7.3.11RC1, php-7.2.24RC1 |
|
#
b02b8129 |
| 07-Oct-2019 |
Dmitry Stogov |
Comparison cleanup: - introduce zend_compare() that returns -1,0,1 dirctly (without intermediate zval) - remove compare_objects() object handler, and keep only compare() handler
|
Revision tags: php-7.4.0RC3, php-7.2.23, php-7.3.10 |
|
#
0c7124e6 |
| 23-Sep-2019 |
Christoph M. Becker |
Add check_only parameter to get_closure handler `get_closure` handlers are called to check whether an object is callable, and to actually get the closure, respectively. The behavior
Add check_only parameter to get_closure handler `get_closure` handlers are called to check whether an object is callable, and to actually get the closure, respectively. The behavior of the handler might differ for these two cases, particularly the handler may throw in the latter case, but should not in the former. Therefore we add a `check_only` parameter, to be able to distinguish the desired purpose.
show more ...
|
Revision tags: php-7.4.0RC2, php-7.2.23RC1, php-7.3.10RC1, php-7.4.0RC1, php-7.1.32, php-7.2.22, php-7.3.9, php-7.4.0beta4, php-7.2.22RC1, php-7.3.9RC1, php-7.4.0beta2, php-7.1.31, php-7.2.21, php-7.3.8, php-7.4.0beta1, php-7.2.21RC1, php-7.3.8RC1, php-7.4.0alpha3, php-7.3.7, php-7.2.20, php-7.4.0alpha2, php-7.3.7RC3, php-7.3.7RC2, php-7.2.20RC2, php-7.4.0alpha1, php-7.3.7RC1, php-7.2.20RC1 |
|
#
45a0656e |
| 29-May-2019 |
Nikita Popov |
Remove get() object handler Now that set() is gone, there is little point in keeping get(), as it is essentially just a different way of writing cast_object() now. Closes GH
Remove get() object handler Now that set() is gone, there is little point in keeping get(), as it is essentially just a different way of writing cast_object() now. Closes GH-4202.
show more ...
|
Revision tags: php-7.2.19 |
|
#
31a516cf |
| 28-May-2019 |
Nikita Popov |
Remove set() object handler
|
Revision tags: php-7.3.6, php-7.1.30, php-7.2.19RC1, php-7.3.6RC1, php-7.1.29, php-7.2.18, php-7.3.5, php-7.2.18RC1, php-7.3.5RC1, php-7.2.17, php-7.3.4, php-7.1.28, php-7.3.4RC1, php-7.2.17RC1, php-7.1.27, php-7.3.3, php-7.2.16, php-7.3.3RC1, php-7.2.16RC1 |
|
#
da3316ff |
| 18-Feb-2019 |
Tyson Andre |
Fix typos in code comments in Zend/ [skip ci]
|
#
f45e0ce9 |
| 07-Feb-2019 |
Dmitry Stogov |
Remove ZEND_OVERLOADED_FUNCTION and corresponding call_method object handler
|
Revision tags: php-7.2.15, php-7.3.2 |
|
#
91ef4124 |
| 31-Jan-2019 |
Dmitry Stogov |
Refactor zend_object_handlers API to pass zend_object* and zend_string* insted of zval(s).
|
Revision tags: php-7.2.15RC1 |
|
#
92ac598a |
| 22-Jan-2019 |
Peter Kokot |
Remove local variables 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
Remove local variables 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.
show more ...
|
#
a81202ac |
| 30-Jan-2019 |
Zeev Suraski |
Adios, yearly copyright ranges
|