summaryrefslogtreecommitdiffstats
path: root/20.patch
diff options
context:
space:
mode:
Diffstat (limited to '20.patch')
-rw-r--r--20.patch107
1 files changed, 107 insertions, 0 deletions
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 <remi@remirepo.net>
+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)