summaryrefslogtreecommitdiffstats
path: root/bebc3a0890156b9067b19f9c56766d132647fd58.patch
blob: 307737b40245f71a2bc612bd209146624a39053d (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
From bebc3a0890156b9067b19f9c56766d132647fd58 Mon Sep 17 00:00:00 2001
From: twosee <twose@qq.com>
Date: Sat, 19 Sep 2020 07:15:07 +0800
Subject: [PATCH] Fix PHP8 build (zend_compile_string change) (#3675)

---
 php_swoole_cxx.cc | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/php_swoole_cxx.cc b/php_swoole_cxx.cc
index 0360cf2779..adfa535132 100644
--- a/php_swoole_cxx.cc
+++ b/php_swoole_cxx.cc
@@ -12,7 +12,13 @@ SW_API zend_string **sw_zend_known_strings = nullptr;
 
 //----------------------------------Swoole known string------------------------------------
 
-static zend_op_array *swoole_compile_string(zval *source_string, ZEND_STR_CONST char *filename);
+#if PHP_VERSION_ID < 80000
+typedef zval zend_source_string_t;
+#else
+typedef zend_string zend_source_string_t;
+#endif
+
+static zend_op_array *swoole_compile_string(zend_source_string_t *source_string, ZEND_STR_CONST char *filename);
 
 bool zend::include(std::string file) {
     zend_file_handle file_handle;
@@ -51,9 +57,10 @@ bool zend::include(std::string file) {
 }
 
 // for compatibly with dis_eval
-static zend_op_array *(*old_compile_string)(zval *source_string, ZEND_STR_CONST char *filename);
 
-static zend_op_array *swoole_compile_string(zval *source_string, ZEND_STR_CONST char *filename) {
+static zend_op_array *(*old_compile_string)(zend_source_string_t *source_string, ZEND_STR_CONST char *filename);
+
+static zend_op_array *swoole_compile_string(zend_source_string_t *source_string, ZEND_STR_CONST char *filename) {
     zend_op_array *opa = old_compile_string(source_string, filename);
     opa->type = ZEND_USER_FUNCTION;
     return opa;