This commit is contained in:
Ivan Enderlin
2020-10-12 18:02:32 +02:00
parent b9f98ce1f6
commit fe70330772

View File

@ -5,6 +5,7 @@ use super::module::wasm_module_t;
use super::types::wasm_name_t;
use std::ffi::c_void;
use std::str;
use std::sync::Arc;
#[no_mangle]
pub unsafe extern "C" fn wasm_instance_get_vmctx_ptr(instance: &wasm_instance_t) -> *mut c_void {
@ -22,7 +23,10 @@ pub unsafe extern "C" fn wasm_module_name(module: &wasm_module_t, out: &mut wasm
}
#[no_mangle]
pub unsafe extern "C" fn wasm_module_set_name(module: &wasm_module_t, name: &wasm_name_t) -> bool {
pub unsafe extern "C" fn wasm_module_set_name(
module: &mut wasm_module_t,
name: &wasm_name_t,
) -> bool {
let name = match name.into_slice() {
Some(name) => match str::from_utf8(name) {
Ok(name) => name,
@ -31,5 +35,8 @@ pub unsafe extern "C" fn wasm_module_set_name(module: &wasm_module_t, name: &was
None => return false,
};
module.inner.set_name(name)
match Arc::get_mut(&mut module.inner) {
Some(module) => module.set_name(name),
None => false,
}
}