From ebbb429ab9b07b73cc34b6b302eaeab87231f1d2 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 28 Jun 2017 17:05:18 +0200 Subject: add patch for PHP 7.2 --- 20.patch | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 20.patch (limited to '20.patch') diff --git a/20.patch b/20.patch new file mode 100644 index 0000000..3fe6f1c --- /dev/null +++ b/20.patch @@ -0,0 +1,107 @@ +From e85a6e998f8be04d0fdfaa88c1f57d6c61bf5db6 Mon Sep 17 00:00:00 2001 +From: Remi Collet +Date: Wed, 28 Jun 2017 17:00:11 +0200 +Subject: [PATCH] fix for PHP 7.2 API changes + +--- + php_ref.h | 16 ++++++++++++++++ + php_ref_functions.c | 20 ++++++++++---------- + php_ref_reference.c | 2 +- + 3 files changed, 27 insertions(+), 11 deletions(-) + +diff --git a/php_ref.h b/php_ref.h +index bbbc4cc..9652a81 100644 +--- a/php_ref.h ++++ b/php_ref.h +@@ -56,4 +56,20 @@ ZEND_EXTERN_MODULE_GLOBALS(ref); + ZEND_TSRMLS_CACHE_EXTERN(); + #endif + ++#if PHP_VERSION_ID >= 70200 ++ ++#define REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX ++#define REF_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX ++ ++#else ++ ++#define REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \ ++ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, NULL, allow_null) ++ ++#define REF_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(name, return_reference, required_num_args, classname, allow_null) \ ++ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, IS_OBJECT, classname, allow_null) ++ ++#endif ++ ++ + #endif /* PHP_REF_H */ +diff --git a/php_ref_functions.c b/php_ref_functions.c +index aa03a91..8af8b0e 100644 +--- a/php_ref_functions.c ++++ b/php_ref_functions.c +@@ -208,43 +208,43 @@ PHP_FUNCTION(is_obj_destructor_called) + } + + +-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(refcounted_arg, ZEND_RETURN_VALUE, 1, _IS_BOOL, NULL, 0) ++REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(refcounted_arg, ZEND_RETURN_VALUE, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, value) + ZEND_END_ARG_INFO() + +-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(refcount_arg, ZEND_RETURN_VALUE, 1, IS_LONG, NULL, 0) ++REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(refcount_arg, ZEND_RETURN_VALUE, 1, IS_LONG, 0) + ZEND_ARG_INFO(0, value) + ZEND_END_ARG_INFO() + +-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(softrefcounted_arg, ZEND_RETURN_VALUE, 1, _IS_BOOL, NULL, 0) ++REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(softrefcounted_arg, ZEND_RETURN_VALUE, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, object) + ZEND_END_ARG_INFO() + +-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(softrefcount_arg, ZEND_RETURN_VALUE, 1, IS_LONG, NULL, 0) ++REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(softrefcount_arg, ZEND_RETURN_VALUE, 1, IS_LONG, 0) + ZEND_ARG_INFO(0, object) + ZEND_END_ARG_INFO() + +-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(softrefs_arg, ZEND_RETURN_VALUE, 1, IS_ARRAY, NULL, 0) ++REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(softrefs_arg, ZEND_RETURN_VALUE, 1, IS_ARRAY, 0) + ZEND_ARG_INFO(0, object) + ZEND_END_ARG_INFO() + +-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(weakrefcounted_arg, ZEND_RETURN_VALUE, 1, _IS_BOOL, NULL, 0) ++REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(weakrefcounted_arg, ZEND_RETURN_VALUE, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, object) + ZEND_END_ARG_INFO() + +-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(weakrefcount_arg, ZEND_RETURN_VALUE, 1, IS_LONG, NULL, 0) ++REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(weakrefcount_arg, ZEND_RETURN_VALUE, 1, IS_LONG, 0) + ZEND_ARG_INFO(0, object) + ZEND_END_ARG_INFO() + +-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(weakrefs_arg, ZEND_RETURN_VALUE, 1, IS_ARRAY, NULL, 0) ++REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(weakrefs_arg, ZEND_RETURN_VALUE, 1, IS_ARRAY, 0) + ZEND_ARG_INFO(0, object) + ZEND_END_ARG_INFO() + +-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(object_handle_arg, ZEND_RETURN_VALUE, 1, IS_LONG, NULL, 0) ++REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(object_handle_arg, ZEND_RETURN_VALUE, 1, IS_LONG, 0) + ZEND_ARG_INFO(0, object) + ZEND_END_ARG_INFO() + +-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(is_obj_destructor_called_arg, ZEND_RETURN_VALUE, 1, _IS_BOOL, NULL, 0) ++REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(is_obj_destructor_called_arg, ZEND_RETURN_VALUE, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, object) + ZEND_END_ARG_INFO() + +diff --git a/php_ref_reference.c b/php_ref_reference.c +index 8c643bc..0863dc4 100644 +--- a/php_ref_reference.c ++++ b/php_ref_reference.c +@@ -644,7 +644,7 @@ ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_ref_reference_get, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) + ZEND_END_ARG_INFO() + +-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ref_reference_valid, ZEND_RETURN_VALUE, 0, _IS_BOOL, NULL, 0) ++REF_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ref_reference_valid, ZEND_RETURN_VALUE, 0, _IS_BOOL, 0) + ZEND_END_ARG_INFO() + + ZEND_BEGIN_ARG_INFO_EX(arginfo_ref_reference_notifier, ZEND_SEND_BY_VAL, ZEND_RETURN_VALUE, 0) -- cgit