summaryrefslogtreecommitdiffstats
path: root/xmlrpc-php81.patch
diff options
context:
space:
mode:
Diffstat (limited to 'xmlrpc-php81.patch')
-rw-r--r--xmlrpc-php81.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/xmlrpc-php81.patch b/xmlrpc-php81.patch
new file mode 100644
index 0000000..f08b9c4
--- /dev/null
+++ b/xmlrpc-php81.patch
@@ -0,0 +1,30 @@
+From 0f782ffe52cebd0a65356427b7ab72d48b72d20c Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@php.net>
+Date: Thu, 22 Jul 2021 12:59:04 +0200
+Subject: [PATCH] Fix #1 compatibility with 8.1.0beta1
+
+---
+ .gitignore | 1 +
+ xmlrpc-epi-php.c | 6 +++++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/xmlrpc-epi-php.c b/xmlrpc-epi-php.c
+index e3120b8..2d0b367 100644
+--- a/xmlrpc-epi-php.c
++++ b/xmlrpc-epi-php.c
+@@ -227,10 +227,14 @@ PHP_MINIT_FUNCTION(xmlrpc)
+ zend_class_entry ce;
+ INIT_CLASS_ENTRY(ce, "XmlRpcServer", class_XmlRpcServer_methods);
+ xmlrpc_server_ce = zend_register_internal_class(&ce);
+- xmlrpc_server_ce->ce_flags |= ZEND_ACC_FINAL;
+ xmlrpc_server_ce->create_object = xmlrpc_server_create_object;
++#if PHP_VERSION_ID < 80100
+ xmlrpc_server_ce->serialize = zend_class_serialize_deny;
+ xmlrpc_server_ce->unserialize = zend_class_unserialize_deny;
++ xmlrpc_server_ce->ce_flags |= ZEND_ACC_FINAL;
++#else
++ xmlrpc_server_ce->ce_flags |= ZEND_ACC_FINAL | ZEND_ACC_NOT_SERIALIZABLE;
++#endif
+
+ memcpy(&xmlrpc_server_object_handlers, &std_object_handlers, sizeof(zend_object_handlers));
+ xmlrpc_server_object_handlers.offset = XtOffsetOf(xmlrpc_server_data, std);