Skip to content

Commit

Permalink
fix(c-api) Fix how wasm_memorytype_t is implemented.
Browse files Browse the repository at this point in the history
In `wasm.h`, `wasm_memorytype_t` is implemented with
`WASM_DECLARE_TYPE`, so with `WASM_DECLARE_VEC(memorytype, *)`. This
`*` means the C struct for the vector is defined:

```c
struct wasm_memorytype_vec_t {
    size_t size;
    wasm_memorytype_t** data;
}
```

The way we implement `wasm_memorytype_vec_t` in Rust is with the
`wasm_declare_vec!` macro. And it is wrong. We must use
`wasm_declared_boxed_vec!`.
  • Loading branch information
Hywan committed Dec 17, 2020
1 parent 75ceb0d commit a3c7a2d
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion lib/c-api/src/wasm_c_api/types/memory.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ impl wasm_memorytype_t {
}
}

wasm_declare_vec!(memorytype);
wasm_declare_boxed_vec!(memorytype);

#[no_mangle]
pub unsafe extern "C" fn wasm_memorytype_new(limits: &wasm_limits_t) -> Box<wasm_memorytype_t> {
Expand Down

0 comments on commit a3c7a2d

Please sign in to comment.