Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bytecodealliance
GitHub Repository: bytecodealliance/wasmtime
Path: blob/main/crates/c-api/src/wat2wasm.rs
1692 views
1
use crate::{bad_utf8, handle_result, wasm_byte_vec_t, wasmtime_error_t};
2
3
#[unsafe(no_mangle)]
4
pub unsafe extern "C" fn wasmtime_wat2wasm(
5
wat: *const u8,
6
wat_len: usize,
7
ret: &mut wasm_byte_vec_t,
8
) -> Option<Box<wasmtime_error_t>> {
9
let wat = crate::slice_from_raw_parts(wat, wat_len);
10
let wat = match std::str::from_utf8(wat) {
11
Ok(s) => s,
12
Err(_) => return bad_utf8(),
13
};
14
handle_result(wat::parse_str(wat).map_err(|e| e.into()), |bytes| {
15
ret.set_buffer(bytes)
16
})
17
}
18
19