inner let vals
[m6w6/ext-psi] / src / marshal.c
index 2ec332953e250ec3a24c989e578d1566d8bda569..28553173862e69caebfb0f1d474fd77a777bd2a6 100644 (file)
@@ -13,6 +13,10 @@ void psi_to_void(zval *return_value, set_value *set, impl_val *ret_val)
        RETVAL_NULL();
 }
 
+impl_val *psi_let_void(impl_val *tmp, decl_type *type, impl_arg *iarg, void **to_free) {
+       return tmp;
+}
+
 void psi_to_zval(zval *return_value, set_value *set, impl_val *ret_val) {
        RETVAL_ZVAL(ret_val->ptr, 1, 0);
 }
@@ -334,7 +338,7 @@ void psi_from_zval_ex(impl_val **ptr, decl_arg *spec, token_t cast, zval *zv, vo
                val->ival = zval_get_long(zv);
                break;
        case PSI_T_STRUCT:
-               *tmp = *ptr = psi_array_to_struct(real->strct, HASH_OF(zv));
+               *tmp = *ptr = psi_array_to_struct(real->real.strct, HASH_OF(zv));
                break;
        }
 }
@@ -501,7 +505,7 @@ impl_val *psi_let_arrval(impl_val *tmp, decl_type *type, impl_arg *iarg, void **
 
        switch (real->type) {
        case PSI_T_STRUCT:
-               *to_free = tmp = psi_array_to_struct(real->strct, arr);
+               *to_free = tmp = psi_array_to_struct(real->real.strct, arr);
                break;
        EMPTY_SWITCH_DEFAULT_CASE();
        }