summaryrefslogtreecommitdiffstats
path: root/gnupg-php81.patch
blob: 0ff0d12bc2d3f6536738eedd9fe48efbbe4ff316 (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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
From 0e35e0bbf81cdbb5346fcdc0a52e022b55075e58 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Thu, 9 Sep 2021 11:59:22 +0200
Subject: [PATCH 1/3] Fix iterator prototypes for PHP 8.1

---
 gnupg_keylistiterator.c | 36 +++++++++++++++++++++++++++++++-----
 1 file changed, 31 insertions(+), 5 deletions(-)

diff --git a/gnupg_keylistiterator.c b/gnupg_keylistiterator.c
index 215aaa0..7390edd 100644
--- a/gnupg_keylistiterator.c
+++ b/gnupg_keylistiterator.c
@@ -90,14 +90,40 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_gnupg_void_iterator_method, 0, 0, 0)
 ZEND_END_ARG_INFO()
 /* }}} */
 
+#if PHP_VERSION_ID < 80100
+
+#define arginfo_gnupg_current arginfo_gnupg_void_iterator_method
+#define arginfo_gnupg_key     arginfo_gnupg_void_iterator_method
+#define arginfo_gnupg_valid   arginfo_gnupg_void_iterator_method
+#define arginfo_gnupg_next    arginfo_gnupg_void_iterator_method
+#define arginfo_gnupg_rewind  arginfo_gnupg_void_iterator_method
+
+#else
+
+ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_gnupg_current, 0, 0, IS_MIXED, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_gnupg_key arginfo_gnupg_current
+
+ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_gnupg_valid, 0, 0, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_gnupg_next, 0, 0, IS_VOID, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_gnupg_rewind  arginfo_gnupg_next
+
+#endif
+
+
 /* {{{ method list gnupg_keylistiterator */
 static zend_function_entry gnupg_keylistiterator_methods[] = {
 	PHP_ME(gnupg_keylistiterator, __construct, arginfo_gnupg_void_iterator_method, ZEND_ACC_PUBLIC)
-	PHP_ME(gnupg_keylistiterator, current, arginfo_gnupg_void_iterator_method, ZEND_ACC_PUBLIC)
-	PHP_ME(gnupg_keylistiterator, key, arginfo_gnupg_void_iterator_method, ZEND_ACC_PUBLIC)
-	PHP_ME(gnupg_keylistiterator, next, arginfo_gnupg_void_iterator_method, ZEND_ACC_PUBLIC)
-	PHP_ME(gnupg_keylistiterator, rewind, arginfo_gnupg_void_iterator_method, ZEND_ACC_PUBLIC)
-	PHP_ME(gnupg_keylistiterator, valid, arginfo_gnupg_void_iterator_method, ZEND_ACC_PUBLIC)
+	PHP_ME(gnupg_keylistiterator, current, arginfo_gnupg_current, ZEND_ACC_PUBLIC)
+	PHP_ME(gnupg_keylistiterator, key, arginfo_gnupg_key, ZEND_ACC_PUBLIC)
+	PHP_ME(gnupg_keylistiterator, next, arginfo_gnupg_next, ZEND_ACC_PUBLIC)
+	PHP_ME(gnupg_keylistiterator, rewind, arginfo_gnupg_rewind, ZEND_ACC_PUBLIC)
+	PHP_ME(gnupg_keylistiterator, valid, arginfo_gnupg_valid, ZEND_ACC_PUBLIC)
 	PHPC_FE_END
 };
 /* }}} */
-- 
2.31.1

From 512acab50beb1b375ef5621b27e1466efb010e58 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Thu, 9 Sep 2021 12:46:48 +0200
Subject: [PATCH 2/3] Simplify previous

---
 gnupg_keylistiterator.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/gnupg_keylistiterator.c b/gnupg_keylistiterator.c
index 7390edd..4d3c074 100644
--- a/gnupg_keylistiterator.c
+++ b/gnupg_keylistiterator.c
@@ -90,15 +90,10 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_gnupg_void_iterator_method, 0, 0, 0)
 ZEND_END_ARG_INFO()
 /* }}} */
 
-#if PHP_VERSION_ID < 80100
-
-#define arginfo_gnupg_current arginfo_gnupg_void_iterator_method
-#define arginfo_gnupg_key     arginfo_gnupg_void_iterator_method
-#define arginfo_gnupg_valid   arginfo_gnupg_void_iterator_method
-#define arginfo_gnupg_next    arginfo_gnupg_void_iterator_method
-#define arginfo_gnupg_rewind  arginfo_gnupg_void_iterator_method
-
-#else
+#ifndef ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX
+#define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \
+        ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args)
+#endif
 
 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_gnupg_current, 0, 0, IS_MIXED, 0)
 ZEND_END_ARG_INFO()
@@ -113,8 +108,6 @@ ZEND_END_ARG_INFO()
 
 #define arginfo_gnupg_rewind  arginfo_gnupg_next
 
-#endif
-
 
 /* {{{ method list gnupg_keylistiterator */
 static zend_function_entry gnupg_keylistiterator_methods[] = {
-- 
2.31.1

From 6ebd34017e920c6e25878ba43d77d08c426f804e Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Thu, 9 Sep 2021 13:36:44 +0200
Subject: [PATCH 3/3] use ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX
 from phpc

---
 gnupg_keylistiterator.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/gnupg_keylistiterator.c b/gnupg_keylistiterator.c
index 4d3c074..9b285ee 100644
--- a/gnupg_keylistiterator.c
+++ b/gnupg_keylistiterator.c
@@ -90,11 +90,6 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_gnupg_void_iterator_method, 0, 0, 0)
 ZEND_END_ARG_INFO()
 /* }}} */
 
-#ifndef ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX
-#define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \
-        ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args)
-#endif
-
 ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_gnupg_current, 0, 0, IS_MIXED, 0)
 ZEND_END_ARG_INFO()
 
-- 
2.31.1

From e9e2769c852ac5d6755245387755c589379a1e1c Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Thu, 9 Sep 2021 13:34:59 +0200
Subject: [PATCH] define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX for
 php < 8.1

---
 phpc.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/phpc.h b/phpc.h
index 4b55747..70fb317 100644
--- a/phpc/phpc.h
+++ b/phpc/phpc.h
@@ -51,6 +51,12 @@
 	memcpy(&PHPC_OBJ_GET_HANDLER_VAR_NAME(_name), \
 		zend_get_std_object_handlers(), sizeof(zend_object_handlers))
 
+/* for arginfo */
+#ifndef ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX
+#define ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, type, allow_null) \
+        ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, required_num_args)
+#endif
+
 /* ZEND_ACC_CTOR and ZEND_ACC_DTOR is removed in 7.4 */
 #ifndef ZEND_ACC_CTOR
 #define ZEND_ACC_CTOR 0
-- 
2.31.1