X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fcall.c;h=57b57f0b9d6e8abf640710887ed459c138bd3e54;hp=c5aa4b7b7c624f92e5f5427cf4d6cef92a711f1e;hb=1df8639baf324038edd00ad15501ea3abb502cac;hpb=4cf4913076ea959f298caefb4b9d60510c1bf48b diff --git a/src/call.c b/src/call.c index c5aa4b7..57b57f0 100644 --- a/src/call.c +++ b/src/call.c @@ -30,7 +30,6 @@ #include "php.h" #include "zend_exceptions.h" -#include "ext/spl/spl_exceptions.h" struct psi_call_frame_argument *psi_call_frame_argument_init(struct psi_impl_arg *spec, impl_val *ival, zval *zptr, int is_vararg) { @@ -199,7 +198,7 @@ zval *psi_call_frame_sub_argument(struct psi_call_frame *frame, if (!iarg) { struct psi_call_frame_argument *frame_arg; impl_val empty_val = {0}; - zend_string *type_str = zend_string_init(ZEND_STRL("mixed"), 1); + zend_string *type_str = zend_string_init_interned(ZEND_STRL("mixed"), 1); struct psi_impl_arg *carg_spec = psi_impl_arg_init( psi_impl_type_init(PSI_T_MIXED, type_str), psi_impl_var_copy(inner_var), NULL); @@ -427,11 +426,7 @@ ZEND_RESULT_CODE psi_call_frame_do_assert(struct psi_call_frame *frame, enum psi while (psi_plist_get(frame->impl->stmts.ass, i++, &ass)) { if (ass->kind == kind) { if (!psi_assert_stmt_exec(ass, frame)) { - char *message = psi_assert_stmt_message(ass); - zend_throw_exception(kind == PSI_ASSERT_PRE - ? spl_ce_InvalidArgumentException - : spl_ce_UnexpectedValueException, message, 0); - free(message); + psi_assert_stmt_throw(ass); return FAILURE; } }