History log of /php-src/Zend/zend_API.h (Results 26 – 50 of 701)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# d0e39194 05-Jan-2023 Dennis Buteyn

Close GH-10217: Use strlen() for determining the class_name length

Closes GH-10231.


# f5149535 03-Jan-2023 Max Kellermann

Zend/zend_API: make several pointers const


# c4a0fc62 02-Dec-2022 George Peter Banyard

Fix zend_fcc_equals() with trampolines (#10012)

We cannot compare the function handler pointer directly for trampolines, as they may be reallocated


# 32d3cae1 22-Nov-2022 George Peter Banyard

Handle trampolines correctly in new FCC API + usages (#9877)


# de4cfff5 26-Oct-2022 George Peter Banyard

Add various APIs to handle FCC structures


# 7c45b958 26-Oct-2022 George Peter Banyard

Store a reference to closures in the FCC


# 76fe989c 21-Oct-2022 George Peter Banyard

Add zend_call_function_with_return_value()

This API handles the common case of calling a userland function and passing a return value pointer.
This allows to remove the 'incorrect' usage

Add zend_call_function_with_return_value()

This API handles the common case of calling a userland function and passing a return value pointer.
This allows to remove the 'incorrect' usage of zend_fcall_info_call(fci, fcc, retval, NULL)

show more ...


# 5a0b68be 14-Sep-2022 Bob Weinand

Revert "Store default object handlers alongside the class entry"

This reverts commit 9e6eab3c139b41dc976dd5305fd1a6e387e5e27f.

Reverted along a01dd9fedaecd2e5b95bc5c2e8d6542116addea

Revert "Store default object handlers alongside the class entry"

This reverts commit 9e6eab3c139b41dc976dd5305fd1a6e387e5e27f.

Reverted along a01dd9fedaecd2e5b95bc5c2e8d6542116addeae.

show more ...


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
# 9e6eab3c 22-Jul-2022 Bob Weinand

Store default object handlers alongside the class entry

Object handlers being separate from class entries is a legacy inherited from PHP 5. Today it has little benefit to keep them separate:

Store default object handlers alongside the class entry

Object handlers being separate from class entries is a legacy inherited from PHP 5. Today it has little benefit to keep them separate: in fact, accessing object handlers usually requires not-so-safe hacks.
While it is possible to swap handlers in a custom installed create_object handler, this mostly is tedious, as well as it requires allocating the object handlers struct at runtime, possibly caching it etc..

This allows extensions, which intend to observe other classes to install their own class handlers.
The life cycle of internal classes may now be simply observed by swapping the class handlers in post_startup stage.
The life cycle of userland classes may be observed by iterating over the new classes in zend_compile_file and zend_compile_string and then swapping their handlers.

In general, this would also be a first step in directly tying the object handlers to classes. Especially given that I am not aware of any case where the object handlers would be different between various instances of a given class.

Signed-off-by: Bob Weinand <bobwei9@hotmail.com>

show more ...


Revision tags: php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3, 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
# 11796229 21-Jan-2022 Tim Starling

Add libxml_get_external_entity_loader()

Add libxml_get_external_entity_loader(), which returns the currently
installed external entity loader, i.e. the value which was passed to
libx

Add libxml_get_external_entity_loader()

Add libxml_get_external_entity_loader(), which returns the currently
installed external entity loader, i.e. the value which was passed to
libxml_set_external_entity_loader() or null if no loader was installed
and the default entity loader will be used.

This allows libraries to save and restore the loader, controlling entity
expansion without interfering with the rest of the application.

Add macro Z_PARAM_FUNC_OR_NULL_WITH_ZVAL(). This allows us to get the
zval for a callable parameter without duplicating callable argument
parsing.

The saved zval keeps the object needed for fcc/fci alive, simplifying
memory management.

Fixes #76763.

show more ...

# d0d6dae8 22-Aug-2022 George Peter Banyard

Add a new zend API to check that strings don't have NUL bytes (#9375)

Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>

# faa83f2f 04-Aug-2022 George Peter Banyard

Convert some macros to zend_always_inline functions (#8288)

This doesn't have an effect really, but humans and IDEs can struggle to see through the macro soup when they first interact with P

Convert some macros to zend_always_inline functions (#8288)

This doesn't have an effect really, but humans and IDEs can struggle to see through the macro soup when they first interact with PHP's source code.

Moreover, this reduces some of the macro expansion hell when they appear in compiler warnings.

show more ...

Revision tags: 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
# 9115211e 15-May-2021 George Peter Banyard

Use uint32_t in Z_PARAM_VARIADIC_WITH_NAMED

# 7aadbcb8 24-May-2022 Ilija Tovilo

GH-8344 Fetch properties of enums in const expressions

# af15923b 08-Jun-2022 Rowan Tommins

Extend deprecation notices to is_callable($foo) and callable $foo

Implements https://wiki.php.net/rfc/partially-supported-callables-expand-deprecation-notices
so that uses of "self" and

Extend deprecation notices to is_callable($foo) and callable $foo

Implements https://wiki.php.net/rfc/partially-supported-callables-expand-deprecation-notices
so that uses of "self" and "parent" in is_callable() and callable
type constraints now raise a deprecation notice, independent of the
one raised when and if the callable is actually invoked.

A new flag is added to the existing check_flags parameter of
zend_is_callable / zend_is_callable_ex, for use in internal calls
that would otherwise repeat the notice multiple times. In particular,
arguments to internal function calls are checked first based on
arginfo, and then again during ZPP, so the former suppresses the
deprecation notice.

Some existing tests which raised this deprecation have been updated
to avoid the syntax, but the existing version retained for maximum
regression coverage until it is made an error.

With thanks to Juliette Reinders Folmer for the RFC and initial
investigation.

Closes GH-8823.

show more ...

# 76fcd70c 25-Jun-2022 Ilija Tovilo

Fix enum preloading again (#8859)

# 280b3db0 21-Jun-2022 George Peter Banyard

Use same type error wording for alias iterable in ZPP (#8838)

Follow-up from #7309 as I didn't change the ZPP TypeError wording.

# b1223ee3 16-Jun-2022 twosee

Use get_active_function_or_method_name() for zend_forbid_dynamic_call() (#8762)

A slight imperfection in https://github.com/php/php-src/pull/7443.
As a zend_API, we should also consider

Use get_active_function_or_method_name() for zend_forbid_dynamic_call() (#8762)

A slight imperfection in https://github.com/php/php-src/pull/7443.
As a zend_API, we should also consider other extensions that may call it in methods. This change will not break the behavior of php-src.

show more ...

# a6387fa3 09-Jun-2022 Jakub Zelenka

Merge branch 'PHP-8.1'


# 976cbba7 09-Jun-2022 Jakub Zelenka

Merge branch 'PHP-8.0' into PHP-8.1


# b765d4cd 21-May-2022 Jakub Zelenka

Fix bug #50293 and #81713: file path checking in OpenSSL functions

It introduces a single function to check file paths passed to OpenSSL
functions. It expands the path, check null bytes

Fix bug #50293 and #81713: file path checking in OpenSSL functions

It introduces a single function to check file paths passed to OpenSSL
functions. It expands the path, check null bytes and finally does
an open basedir check.

show more ...

# 733023b2 10-Mar-2022 Ilija Tovilo

Improve error message class type

Refer to interfaces/enums instead of classes in more places.

Closes GH-7792
Closes GH-8187

# 32e2d97a 20-Dec-2021 Tyson Andre

Allow internal functions to declare if they support compile-time evaluation, add functions. (#7780)

https://wiki.php.net/rfc/strtolower-ascii means that these functions no longer
depend

Allow internal functions to declare if they support compile-time evaluation, add functions. (#7780)

https://wiki.php.net/rfc/strtolower-ascii means that these functions no longer
depend on the current locale in php 8.2. Before that, this was unsafe to
evaluate at compile time.

Followup to GH-7506

Add strcmp/strcasecmp/strtolower/strtoupper functions

Add bin2hex/hex2bin and related functions

Update test of garbage collection using strtolower to use something else to create a refcounted string

show more ...

# 024d5f4b 01-Dec-2021 Tyson Andre

Cache method overrides of ArrayAccess in zend_class_entry

Previously, code such as subclasses of SplFixedArray would check for method
overrides when instantiating the objects.

T

Cache method overrides of ArrayAccess in zend_class_entry

Previously, code such as subclasses of SplFixedArray would check for method
overrides when instantiating the objects.

This optimization was mentioned as a followup to GH-6552

show more ...

# 1afe89f8 21-Oct-2021 George Peter Banyard

Remove (ZEND_)WRONG_PARAM_COUNT_WITH_RETVAL macros

A TypeError is always emitted therefore assigning a retval is pointless and incorrect.

12345678910>>...29