summaryrefslogtreecommitdiffstats
path: root/yaf-php82.patch
diff options
context:
space:
mode:
Diffstat (limited to 'yaf-php82.patch')
-rw-r--r--yaf-php82.patch85
1 files changed, 85 insertions, 0 deletions
diff --git a/yaf-php82.patch b/yaf-php82.patch
new file mode 100644
index 0000000..9bbacae
--- /dev/null
+++ b/yaf-php82.patch
@@ -0,0 +1,85 @@
+From e1557c8f219651550633567054af9c3298524c7e Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Mon, 19 Sep 2022 11:44:33 +0200
+Subject: [PATCH] Fix PHP 8.2 compatibility
+
+---
+ requests/yaf_request_simple.c | 3 +++
+ tests/031.phpt | 2 +-
+ tests/issue231.phpt | 2 +-
+ views/yaf_view_simple.c | 4 +++-
+ yaf_application.c | 4 +++-
+ 5 files changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/requests/yaf_request_simple.c b/requests/yaf_request_simple.c
+index 6e7ff540..9c63d1c4 100644
+--- a/requests/yaf_request_simple.c
++++ b/requests/yaf_request_simple.c
+@@ -140,6 +140,9 @@ YAF_STARTUP_FUNCTION(request_simple){
+ zend_class_entry ce;
+ YAF_INIT_CLASS_ENTRY(ce, "Yaf_Request_Simple", "Yaf\\Request\\Simple", yaf_request_simple_methods);
+ yaf_request_simple_ce = zend_register_internal_class_ex(&ce, yaf_request_ce);
++#if PHP_VERSION_ID >= 80200
++ yaf_request_simple_ce->ce_flags |= ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES;
++#endif
+
+ return SUCCESS;
+ }
+diff --git a/tests/031.phpt b/tests/031.phpt
+index 19e9f79f..3474aa63 100644
+--- a/tests/031.phpt
++++ b/tests/031.phpt
+@@ -36,7 +36,7 @@ Array
+ )
+ array (
+ '_default' =>
+- Yaf_Route_Map::__set_state(array(
++ %saf_Route_Map::__set_state(array(
+ 'ctl_prefer:protected' => true,
+ 'delimiter:protected' => '##',
+ )),
+diff --git a/tests/issue231.phpt b/tests/issue231.phpt
+index da656f87..44abc592 100644
+--- a/tests/issue231.phpt
++++ b/tests/issue231.phpt
+@@ -34,7 +34,7 @@ Yaf_Request_Http Object
+ )
+
+ )
+-Yaf_Request_Http::__set_state(array(
++%saf_Request_Http::__set_state(array(
+ 'method' => 'POST',
+ 'module' => NULL,
+ 'controller' => NULL,
+diff --git a/views/yaf_view_simple.c b/views/yaf_view_simple.c
+index 229339e9..7402fed7 100755
+--- a/views/yaf_view_simple.c
++++ b/views/yaf_view_simple.c
+@@ -388,8 +388,10 @@ static int yaf_view_simple_eval(yaf_view_t *view, zend_string *tpl, zval * vars,
+ ZVAL_STR(&phtml, strpprintf(0, "?>%s", ZSTR_VAL(tpl)));
+ #if PHP_VERSION_ID < 80000
+ op_array = zend_compile_string(&phtml, eval_desc);
+-#else
++#elif PHP_VERSION_ID < 80200
+ op_array = zend_compile_string(Z_STR(phtml), eval_desc);
++#else
++ op_array = zend_compile_string(Z_STR(phtml), eval_desc, ZEND_COMPILE_POSITION_AFTER_OPEN_TAG);
+ #endif
+ zval_dtor(&phtml);
+ efree(eval_desc);
+diff --git a/yaf_application.c b/yaf_application.c
+index 44b8e9e8..335b6d44 100644
+--- a/yaf_application.c
++++ b/yaf_application.c
+@@ -1053,8 +1053,10 @@ YAF_STARTUP_FUNCTION(application) {
+ yaf_application_ce->ce_flags |= ZEND_ACC_FINAL;
+ yaf_application_ce->serialize = zend_class_serialize_deny;
+ yaf_application_ce->unserialize = zend_class_unserialize_deny;
+-#else
++#elif PHP_VERSION_ID < 80200
+ yaf_application_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NOT_SERIALIZABLE;
++#else
++ yaf_application_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NOT_SERIALIZABLE | ZEND_ACC_ALLOW_DYNAMIC_PROPERTIES;
+ #endif
+
+ memcpy(&yaf_application_obj_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));