@@ -50,9 +50,11 @@ own wasm_ref_t* call_v_r(const wasm_func_t* func) {
5050 wasm_val_t rs [] = { WASM_INIT_VAL };
5151 wasm_val_vec_t args = WASM_EMPTY_VEC ;
5252 wasm_val_vec_t results = WASM_ARRAY_VEC (rs );
53- if (wasm_func_call (func , & args , & results )) {
54- printf ("> Error calling function!\n" );
55- exit (1 );
53+ wasm_trap_t * trap = wasm_func_call (func , & args , & results );
54+ if (trap ) {
55+ printf ("> Error calling function!\n" );
56+ wasm_trap_delete (trap );
57+ exit (1 );
5658 }
5759 printf ("okay\n" );
5860 return rs [0 ].of .ref ;
@@ -63,9 +65,11 @@ void call_r_v(const wasm_func_t* func, wasm_ref_t* ref) {
6365 wasm_val_t vs [1 ] = { WASM_REF_VAL (ref ) };
6466 wasm_val_vec_t args = WASM_ARRAY_VEC (vs );
6567 wasm_val_vec_t results = WASM_EMPTY_VEC ;
66- if (wasm_func_call (func , & args , & results )) {
67- printf ("> Error calling function!\n" );
68- exit (1 );
68+ wasm_trap_t * trap = wasm_func_call (func , & args , & results );
69+ if (trap ) {
70+ printf ("> Error calling function!\n" );
71+ wasm_trap_delete (trap );
72+ exit (1 );
6973 }
7074 printf ("okay\n" );
7175}
@@ -76,9 +80,11 @@ own wasm_ref_t* call_r_r(const wasm_func_t* func, wasm_ref_t* ref) {
7680 wasm_val_t rs [1 ] = { WASM_INIT_VAL };
7781 wasm_val_vec_t args = WASM_ARRAY_VEC (vs );
7882 wasm_val_vec_t results = WASM_ARRAY_VEC (rs );
79- if (wasm_func_call (func , & args , & results )) {
80- printf ("> Error calling function!\n" );
81- exit (1 );
83+ wasm_trap_t * trap = wasm_func_call (func , & args , & results );
84+ if (trap ) {
85+ printf ("> Error calling function!\n" );
86+ wasm_trap_delete (trap );
87+ exit (1 );
8288 }
8389 printf ("okay\n" );
8490 return rs [0 ].of .ref ;
@@ -89,9 +95,11 @@ void call_ir_v(const wasm_func_t* func, int32_t i, wasm_ref_t* ref) {
8995 wasm_val_t vs [2 ] = { WASM_I32_VAL (i ), WASM_REF_VAL (ref ) };
9096 wasm_val_vec_t args = WASM_ARRAY_VEC (vs );
9197 wasm_val_vec_t results = WASM_EMPTY_VEC ;
92- if (wasm_func_call (func , & args , & results )) {
93- printf ("> Error calling function!\n" );
94- exit (1 );
98+ wasm_trap_t * trap = wasm_func_call (func , & args , & results );
99+ if (trap ) {
100+ printf ("> Error calling function!\n" );
101+ wasm_trap_delete (trap );
102+ exit (1 );
95103 }
96104 printf ("okay\n" );
97105}
@@ -102,9 +110,11 @@ own wasm_ref_t* call_i_r(const wasm_func_t* func, int32_t i) {
102110 wasm_val_t rs [1 ] = { WASM_INIT_VAL };
103111 wasm_val_vec_t args = WASM_ARRAY_VEC (vs );
104112 wasm_val_vec_t results = WASM_ARRAY_VEC (rs );
105- if (wasm_func_call (func , & args , & results )) {
106- printf ("> Error calling function!\n" );
107- exit (1 );
113+ wasm_trap_t * trap = wasm_func_call (func , & args , & results );
114+ if (trap ) {
115+ printf ("> Error calling function!\n" );
116+ wasm_trap_delete (trap );
117+ exit (1 );
108118 }
109119 printf ("okay\n" );
110120 return rs [0 ].of .ref ;
0 commit comments