X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Ftypes%2Flet_exp.c;h=4ce32a2f028ea13ce77f7459b7c6287f841dcf37;hb=698841dfdd4d70d24e0b7af25ac7100bc2cb26a4;hp=55bf5769cbcc46bb9dcf1065d1cc85766baba30f;hpb=a0f437f26cd0f121ee911a55327a68a3544bf15f;p=m6w6%2Fext-psi diff --git a/src/types/let_exp.c b/src/types/let_exp.c index 55bf576..4ce32a2 100644 --- a/src/types/let_exp.c +++ b/src/types/let_exp.c @@ -23,7 +23,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************/ -#include "php_psi_stdinc.h" +#ifdef HAVE_CONFIG_H +# include "config.h" +#else +# include "php_config.h" +#endif #include "data.h" #include "call.h" #include "calc.h" @@ -243,9 +247,11 @@ void *psi_let_exp_exec(struct psi_let_exp *val, struct psi_decl_arg *darg, struct psi_impl *impl = psi_call_frame_get_impl(frame); struct psi_let_stmt *let_temp = psi_impl_get_let(impl, val->data.var); struct psi_call_frame_symbol *temp_arg; + impl_val *src; temp_arg = psi_call_frame_fetch_symbol(frame, let_temp->exp->var); - frame_sym->temp_val = *deref_impl_val(temp_arg->ptr, val->data.var); + src = deref_impl_val(temp_arg->ptr, val->data.var); + memcpy(&frame_sym->temp_val, src, psi_decl_var_get_size(let_temp->exp->var)); } break;