summaryrefslogtreecommitdiffstats
path: root/parle-php81.patch
blob: 7025a4f63cad7c72656eb9eaa60a35dc8e9adb29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
From 2d3c09723b0571250b58d717076214da9721e8a9 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Thu, 9 Sep 2021 16:37:04 +0200
Subject: [PATCH] Use ZEND_ACC_NOT_SERIALIZABLE for 8.1

---
 parle.cpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/parle.cpp b/parle.cpp
index b2b6819..b966ab6 100644
--- a/parle.cpp
+++ b/parle.cpp
@@ -2818,8 +2818,12 @@ PHP_MINIT_FUNCTION(parle)
 		zend_declare_property_long(ce, "state", sizeof("state")-1, 0, ZEND_ACC_PUBLIC);
 		zend_declare_property_long(ce, "marker", sizeof("marker")-1, Z_L(-1), ZEND_ACC_PUBLIC);
 		zend_declare_property_long(ce, "cursor", sizeof("cursor")-1, Z_L(-1), ZEND_ACC_PUBLIC);
+#if PHP_VERSION_ID < 80100
 		ce->serialize = zend_class_serialize_deny;
 		ce->unserialize = zend_class_unserialize_deny;
+#else
+		ce->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE;
+#endif
 	};
 
 	memcpy(&parle_lexer_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
@@ -2865,8 +2869,12 @@ PHP_MINIT_FUNCTION(parle)
 #undef DECL_CONST
 		zend_declare_property_long(ce, "action", sizeof("action")-1, 0, ZEND_ACC_PUBLIC);
 		zend_declare_property_long(ce, "reduceId", sizeof("reduceId")-1, 0, ZEND_ACC_PUBLIC);
+#if PHP_VERSION_ID < 80100
 		ce->serialize = zend_class_serialize_deny;
 		ce->unserialize = zend_class_unserialize_deny;
+#else
+		ce->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE;
+#endif
 	};
 
 	memcpy(&parle_parser_handlers, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
@@ -2915,8 +2923,12 @@ PHP_MINIT_FUNCTION(parle)
 	zend_declare_property_bool(ParleStack_ce, "empty", sizeof("empty")-1, 0, ZEND_ACC_PUBLIC);
 	zend_declare_property_long(ParleStack_ce, "size", sizeof("size")-1, 0, ZEND_ACC_PUBLIC);
 	zend_declare_property_long(ParleStack_ce, "top", sizeof("top")-1, 0, ZEND_ACC_PUBLIC);
+#if PHP_VERSION_ID < 80100
 	ParleStack_ce->serialize = zend_class_serialize_deny;
 	ParleStack_ce->unserialize = zend_class_unserialize_deny;
+#else
+	ParleStack_ce->ce_flags |= ZEND_ACC_NOT_SERIALIZABLE;
+#endif
 
 	INIT_CLASS_ENTRY(ce, "Parle\\LexerException", NULL);
 	ParleLexerException_ce = zend_register_internal_class_ex(&ce, zend_exception_get_default());