Skip to content

Commit f96db21

Browse files
committed
Compile against PHP 8.6
1 parent c63e7a8 commit f96db21

1 file changed

Lines changed: 36 additions & 3 deletions

File tree

ext-src/swoole_runtime.cc

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,12 @@ static zend_arg_info *get_arginfo(const char *name, size_t l_name) {
202202
if (zf == nullptr) {
203203
return nullptr;
204204
}
205+
206+
#if PHP_VERSION_ID >= 80600
205207
return zf->internal_function.arg_info;
208+
#else
209+
return (zend_arg_info *) zf->internal_function.arg_info;
210+
#endif
206211
}
207212

208213
static zend_arg_info *copy_arginfo(const zend_internal_function *function, zend_arg_info *_arg_info) {
@@ -425,7 +430,11 @@ void php_swoole_runtime_rshutdown() {
425430
rf->arg_info_copy = nullptr;
426431
}
427432
rf->function->internal_function.handler = rf->ori_handler;
428-
rf->function->internal_function.arg_info = rf->ori_arg_info;
433+
#if PHP_VERSION_ID >= 80600
434+
rf->function->internal_function.arg_info = rf->ori_arg_info;
435+
#else
436+
rf->function->internal_function.arg_info = (zend_internal_arg_info *) rf->ori_arg_info;
437+
#endif
429438
efree(rf);
430439
}
431440
ZEND_HASH_FOREACH_END();
@@ -1309,7 +1318,11 @@ static bool disable_func(const char *name, size_t l_name) {
13091318
sw_memset_zero(rf, sizeof(*rf));
13101319
rf->function = zf;
13111320
rf->ori_handler = zf->internal_function.handler;
1321+
#if PHP_VERSION_ID >= 80600
13121322
rf->ori_arg_info = zf->internal_function.arg_info;
1323+
#else
1324+
rf->ori_arg_info = (zend_arg_info *) zf->internal_function.arg_info;
1325+
#endif
13131326
rf->ori_fn_flags = zf->internal_function.fn_flags;
13141327

13151328
zf->internal_function.handler = ZEND_FN(swoole_display_disabled_function);
@@ -2160,7 +2173,11 @@ static void hook_func(const char *name, size_t l_name, zif_handler handler, zend
21602173
if (rf) {
21612174
rf->function->internal_function.handler = handler;
21622175
if (arg_info) {
2176+
#if PHP_VERSION_ID >= 80600
21632177
rf->function->internal_function.arg_info = arg_info;
2178+
#else
2179+
rf->function->internal_function.arg_info = (zend_internal_arg_info *) arg_info;
2180+
#endif
21642181
}
21652182
return;
21662183
}
@@ -2180,15 +2197,26 @@ static void hook_func(const char *name, size_t l_name, zif_handler handler, zend
21802197

21812198
if (!ori_func_arg_infos.exists(fn_name)) {
21822199
ori_func_handlers.set(fn_name, zf->internal_function.handler);
2183-
ori_func_arg_infos.set(fn_name, zf->internal_function.arg_info);
2200+
#if PHP_VERSION_ID >= 80600
2201+
ori_func_arg_infos.set(fn_name, zf->internal_function.arg_info);
2202+
#else
2203+
ori_func_arg_infos.set(fn_name, (zend_arg_info *) zf->internal_function.arg_info);
2204+
#endif
21842205
}
21852206
rf->ori_handler = ori_func_handlers.get(fn_name);
21862207
rf->ori_arg_info = ori_func_arg_infos.get(fn_name);
21872208

21882209
zf->internal_function.handler = handler;
21892210
if (arg_info) {
2190-
zf->internal_function.arg_info = copy_arginfo(&zf->internal_function, arg_info);
2211+
#if PHP_VERSION_ID >= 80600
2212+
zf->internal_function.arg_info =
2213+
copy_arginfo(&zf->internal_function, arg_info);
21912214
rf->arg_info_copy = zf->internal_function.arg_info;
2215+
#else
2216+
zf->internal_function.arg_info =
2217+
(zend_internal_arg_info *) copy_arginfo(&zf->internal_function, arg_info);
2218+
rf->arg_info_copy = (zend_arg_info *) zf->internal_function.arg_info;
2219+
#endif
21922220
}
21932221

21942222
if (use_php_func) {
@@ -2209,7 +2237,12 @@ static void unhook_func(const char *name, size_t l_name) {
22092237
return;
22102238
}
22112239
rf->function->internal_function.handler = rf->ori_handler;
2240+
#if PHP_VERSION_ID >= 80600
22122241
rf->function->internal_function.arg_info = rf->ori_arg_info;
2242+
#else
2243+
rf->function->internal_function.arg_info =
2244+
(zend_internal_arg_info *) rf->ori_arg_info;
2245+
#endif
22132246
}
22142247

22152248
php_stream *php_swoole_create_stream_from_socket(php_socket_t _fd, int domain, int type, int protocol STREAMS_DC) {

0 commit comments

Comments
 (0)