From edd47e5aee7bc9043488939e71c03c5e90c46735 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 16 Jul 2026 10:57:14 +0200 Subject: fix build with PHP 8.6.0alpha2 using patch from https://github.com/php/pecl-networking-gearman/pull/68 --- 408.patch | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 408.patch (limited to '408.patch') diff --git a/408.patch b/408.patch new file mode 100644 index 0000000..b118b0a --- /dev/null +++ b/408.patch @@ -0,0 +1,76 @@ +From 2e0788825caa067aaab10e6b80f5fd958d92b0f0 Mon Sep 17 00:00:00 2001 +From: k0d3r1s +Date: Thu, 4 Dec 2025 16:32:28 +0200 +Subject: [PATCH] The zval_dtor() alias of zval_ptr_dtor_nogc() has been + removed + +Call zval_ptr_dtor_nogc() directly instead +--- + src/php7/igbinary.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/src/php7/igbinary.c b/src/php7/igbinary.c +index 17eee3ca..b0a14185 100644 +--- a/src/php7/igbinary.c ++++ b/src/php7/igbinary.c +@@ -2601,7 +2601,7 @@ zend_always_inline static int igbinary_unserialize_array(struct igbinary_unseria + if (IGB_NEEDS_MORE_DATA(igsd, 1)) { + zend_error(E_WARNING, "igbinary_unserialize_array: end-of-data"); + cleanup: +- zval_dtor(z); ++ zval_ptr_dtor_nogc(z); + ZVAL_NULL(z); + return 1; + } +@@ -2759,7 +2759,7 @@ inline static int igbinary_unserialize_object_properties(struct igbinary_unseria + + if (IGB_NEEDS_MORE_DATA(igsd, 1)) { + zend_error(E_WARNING, "igbinary_unserialize_object_properties: end-of-data"); +- zval_dtor(z); ++ zval_ptr_dtor_nogc(z); + ZVAL_NULL(z); + return 1; + } +@@ -2778,13 +2778,13 @@ inline static int igbinary_unserialize_object_properties(struct igbinary_unseria + { + zend_long key_index = 0; + if (UNEXPECTED(igbinary_unserialize_long(igsd, key_type, &key_index))) { +- zval_dtor(z); ++ zval_ptr_dtor_nogc(z); + ZVAL_UNDEF(z); + return 1; + } + key_str = zend_long_to_str(key_index); + if (UNEXPECTED(key_str == NULL)) { +- zval_dtor(z); ++ zval_ptr_dtor_nogc(z); + ZVAL_UNDEF(z); + return 1; + } +@@ -2795,7 +2795,7 @@ inline static int igbinary_unserialize_object_properties(struct igbinary_unseria + case igbinary_type_string_id32: + key_str = igbinary_unserialize_string(igsd, key_type); + if (UNEXPECTED(key_str == NULL)) { +- zval_dtor(z); ++ zval_ptr_dtor_nogc(z); + ZVAL_UNDEF(z); + return 1; + } +@@ -2806,7 +2806,7 @@ inline static int igbinary_unserialize_object_properties(struct igbinary_unseria + case igbinary_type_string64: + key_str = igbinary_unserialize_chararray(igsd, key_type, 1); + if (UNEXPECTED(key_str == NULL)) { +- zval_dtor(z); ++ zval_ptr_dtor_nogc(z); + ZVAL_UNDEF(z); + return 1; + } +@@ -2818,7 +2818,7 @@ inline static int igbinary_unserialize_object_properties(struct igbinary_unseria + continue; /* Skip unserializing this element, serialized with no value. In C, this applies to loop, not switch. */ + default: + zend_error(E_WARNING, "igbinary_unserialize_object_properties: unknown key type '%02x', position %zu", key_type, (size_t)IGB_BUFFER_OFFSET(igsd)); +- zval_dtor(z); ++ zval_ptr_dtor_nogc(z); + ZVAL_UNDEF(z); + return 1; + } -- cgit