X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Ftypes%2Flet_exp.c;fp=src%2Ftypes%2Flet_exp.c;h=4ce32a2f028ea13ce77f7459b7c6287f841dcf37;hp=382fd6269c8b312cfb550813fb5cb55fc1d4834f;hb=5637e16c2c56225bd92904498de691760535ac2a;hpb=0b2f487daf52cafedc5c4eeff20210b6db5faaf4 diff --git a/src/types/let_exp.c b/src/types/let_exp.c index 382fd62..4ce32a2 100644 --- a/src/types/let_exp.c +++ b/src/types/let_exp.c @@ -247,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;