History log of /php-src/ext/ffi/ffi.c (Results 1 – 25 of 207)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 18d70db0 27-Mar-2024 Cristian Rodríguez

Fix gcc-14 Wcalloc-transposed-args warnings

gcc-14 and later warns of inverted arguments in calloc or
calloc-like __alloc_size__ annotated functions.

Closes GH-13818.


# f2e199e8 25-Feb-2024 Máté Kocsis

Implement "support doc comments for internal classes and functions" (#13266)

Fixes #13130


# 97267215 10-Jan-2024 David CARLIER

general signatures discrepencies fixes (#13122)


# 927adfb1 20-Dec-2023 Cristian Rodríguez

Use a single version of mempcpy(3) (#12257)

While __php_mempcpy is only used by ext/standard/crypt_sha*, the
mempcpy "pattern" is used everywhere.

This commit removes __php_memp

Use a single version of mempcpy(3) (#12257)

While __php_mempcpy is only used by ext/standard/crypt_sha*, the
mempcpy "pattern" is used everywhere.

This commit removes __php_mempcpy, adds zend_mempcpy and transforms
open-coded parts into function calls.

show more ...


# c727f299 08-Dec-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-12905: FFI::new interacts badly with observers

Because these functions are copied and not properly registered (which we
can't), the observer code doesn't add the temporaries on st

Fix GH-12905: FFI::new interacts badly with observers

Because these functions are copied and not properly registered (which we
can't), the observer code doesn't add the temporaries on startup.
Add them via a callback during startup.

Closes GH-12906.

show more ...


# 40ccc8ea 10-Dec-2023 Jakub Zelenka

Fix GH-9698: stream_wrapper_register crashes with FFI\CData provided as class

Closes GH-12926


# adaf7263 22-Nov-2023 Dmitry Stogov

Fixed regression introduced by https://github.com/php/php-src/pull/9601


# cc2bf119 13-Nov-2023 David CARLIER

zend: introducing ZEND_ELEMENT_COUNT for struct's dynamic arrays. (#12650)

zend: introducing ZEND_ELEMENT_COUNT for struct's dynamic and flexible arrays.

It is mostly for ubsan and

zend: introducing ZEND_ELEMENT_COUNT for struct's dynamic arrays. (#12650)

zend: introducing ZEND_ELEMENT_COUNT for struct's dynamic and flexible arrays.

It is mostly for ubsan and helping array bound checking.

show more ...


# 04b35a44 28-Oct-2023 sji

Fix segfault caused by weak references to FFI objects (#12488)

Thank you!


# 692cea5c 13-Sep-2023 Ilija Tovilo

Use zend_error_noreturn for E_ERROR consistently

To be clear, these already don't return. zend_error_noreturn just hints at this
fact through the ZEND_NORETURN attribute.

Closes

Use zend_error_noreturn for E_ERROR consistently

To be clear, these already don't return. zend_error_noreturn just hints at this
fact through the ZEND_NORETURN attribute.

Closes GH-12204

show more ...


# 0b9702c9 10-Aug-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Implement GH-11934: Allow to pass CData into struct and/or union fields

Co-authored-by: KapitanOczywisty <44417092+KapitanOczywisty@users.noreply.github.com>

Closes GH-11935.


# ac99f730 21-Jul-2023 Ilija Tovilo

Fix merge conflict

Sorry...


# 11d6bea9 20-Jul-2023 Ilija Tovilo

Fix leaking definitions on FFI::cdef()->new()

Previously, FFI_G(symbols) and FFI_G(tags) were never cleaned up when calling
new on an existing object. However, if cdef() is called withou

Fix leaking definitions on FFI::cdef()->new()

Previously, FFI_G(symbols) and FFI_G(tags) were never cleaned up when calling
new on an existing object. However, if cdef() is called without parameters these
globals are NULL and might be created when new() creates new definitions. These
would then be discarded without freeing them.

Closes GH-11751

show more ...


# 4acf0084 01-Jul-2023 Máté Kocsis

Deprecate calling FFI::cast(), FFI::new(), and FFI::type() statically


# 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 ...


# d46dea16 18-Feb-2023 Max Kellermann

Make globals const (part 2) (#10610)

* Zend/zend_enum: make `forbidden_methods` static+const

* main/php_syslog: make `xdigits` static

* sapi/fpm: make several globals `cons

Make globals const (part 2) (#10610)

* Zend/zend_enum: make `forbidden_methods` static+const

* main/php_syslog: make `xdigits` static

* sapi/fpm: make several globals `const`

* sapi/phpdbg: make `OPTIONS` static

* sapi/phpdbg/help: make help texts const

* sapi/cli: make `template_map` const

* ext/ffi: make `zend_ffi_types` static

* ext/bcmath: make `ref_str` const

* ext/phar: make several globals static+const

show more ...


# 851e4623 13-Feb-2023 Dmitry Stogov

Make C functions returning "void" to return PHP "null"

In PHP-2.0 and below we by mistake returned "obcect(FFI\CData:void)#2 (0) {}".
We decided not to fix this in PHP-2.0 and below to a

Make C functions returning "void" to return PHP "null"

In PHP-2.0 and below we by mistake returned "obcect(FFI\CData:void)#2 (0) {}".
We decided not to fix this in PHP-2.0 and below to aboid BC breaks.

show more ...


# 1a5fc6e1 13-Feb-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix assertion failure when var_dump'ing void FFI result (#10568)


# d2cdfdbe 04-Feb-2023 rj1

fixed some misspellings (#10503)


# 560ca9c7 24-Jan-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix incorrect bitshifting and masking in ffi bitfield (#10403)

When a uint8_t is bitshifted to the left, it is actually promoted to an
int. For the current code this has the effect of a

Fix incorrect bitshifting and masking in ffi bitfield (#10403)

When a uint8_t is bitshifted to the left, it is actually promoted to an
int. For the current code this has the effect of a wrong sign-extension,
and the result will also wrongly become zero when insert_pos >= 32.
Fix this by adding an explicit cast.
Furthermore, the partial prefix byte mask was computed incorrectly: the
byte is already shifted so the mask should not account for the shift.

show more ...


# 7936c808 23-Jan-2023 Máté Kocsis

Fix GH-8329 Print true/false instead of bool in error and debug messages (#8385)


# 6f785b03 05-Jan-2023 Marcos Marcolin

chore: remove semicolon left over.

Closes GH-10236.


# 289822d3 04-Nov-2022 Thomas PIRAS

Add a proper error message for ffi load

We call dlerror when a library failed to load properly.

Closes GH-9913.


# d4ad9b72 23-Sep-2022 Ilija Tovilo

Throw in FFI::addr() when referencing temporary pointer

Closes GH-9601


# a01dd9fe 14-Sep-2022 Bob Weinand

Revert "Port all internally used classes to use default_object_handlers"

This reverts commit 94ee4f9834743ca74f6c9653863273277ce6c61a.

The commit was a bit too late to be included i

Revert "Port all internally used classes to use default_object_handlers"

This reverts commit 94ee4f9834743ca74f6c9653863273277ce6c61a.

The commit was a bit too late to be included in PHP 8.2 RC1. Given it's a massive ABI break, we decide to postpone the change to PHP 8.3.

show more ...


123456789