| 97 | |
| 98 | #[unsafe(no_mangle)] |
| 99 | pub extern "C" fn wasm_trap_new( |
| 100 | _store: &wasm_store_t, |
| 101 | message: &wasm_message_t, |
| 102 | ) -> Box<wasm_trap_t> { |
| 103 | let message = message.as_slice(); |
| 104 | if message[message.len() - 1] != 0 { |
| 105 | panic!("wasm_trap_new message stringz expected"); |
| 106 | } |
| 107 | let message = String::from_utf8_lossy(&message[..message.len() - 1]); |
| 108 | Box::new(wasm_trap_t { |
| 109 | error: Error::msg(message.into_owned()), |
| 110 | }) |
| 111 | } |
| 112 | |
| 113 | #[unsafe(no_mangle)] |
| 114 | pub unsafe extern "C" fn wasmtime_trap_new(message: *const u8, len: usize) -> Box<wasm_trap_t> { |