X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fcall.c;h=015b626323484e5f01351a2653dd9d155f2616de;hp=6c924c8fa8872e1f475239d1ff74256b1e302287;hb=10e51aad0515e80adeb96a47776a2d80e62a98bc;hpb=53495ef4bd0321f7f92dd05eef8e01b90d7b415a diff --git a/src/call.c b/src/call.c index 6c924c8..015b626 100644 --- a/src/call.c +++ b/src/call.c @@ -250,6 +250,11 @@ struct psi_context *psi_call_frame_get_context(struct psi_call_frame *frame) { return frame->context; } +#if PHP_VERSION_ID < 70300 +# define PARAM_PROLOGUE(separate) Z_PARAM_PROLOGUE(separate) +#else +# define PARAM_PROLOGUE(separate) Z_PARAM_PROLOGUE(1, separate) +#endif ZEND_RESULT_CODE psi_call_frame_parse_args(struct psi_call_frame *frame, zend_execute_data *execute_data) { size_t i, argc = psi_plist_count(frame->impl->func->args); @@ -300,9 +305,9 @@ ZEND_RESULT_CODE psi_call_frame_parse_args(struct psi_call_frame *frame, Z_PARAM_ARRAY_EX(tmp, _optional || iarg->var->reference, iarg->var->reference); } else if (PSI_T_OBJECT == iarg->type->type) { - Z_PARAM_PROLOGUE(iarg->var->reference); + PARAM_PROLOGUE(iarg->var->reference); } else if (PSI_T_MIXED == iarg->type->type) { - Z_PARAM_PROLOGUE(iarg->var->reference); + PARAM_PROLOGUE(iarg->var->reference); } else if (PSI_T_CALLABLE == iarg->type->type) { zend_fcall_info fci; zend_fcall_info_cache fcc;