(
arg0: *mut u8,
arg1: usize,
arg2: *mut u8,
arg3: usize,
arg4: *mut u8,
arg5: u
| 333 | #[doc(hidden)] |
| 334 | #[allow(non_snake_case)] |
| 335 | pub unsafe fn _export_on_msg_cabi<T: Guest>( |
| 336 | arg0: *mut u8, |
| 337 | arg1: usize, |
| 338 | arg2: *mut u8, |
| 339 | arg3: usize, |
| 340 | arg4: *mut u8, |
| 341 | arg5: usize, |
| 342 | arg6: *mut u8, |
| 343 | arg7: usize, |
| 344 | ) -> *mut u8 { |
| 345 | #[cfg(target_arch = "wasm32")] _rt::run_ctors_once(); |
| 346 | let len0 = arg1; |
| 347 | let bytes0 = _rt::Vec::from_raw_parts(arg0.cast(), len0, len0); |
| 348 | let len1 = arg3; |
| 349 | let bytes1 = _rt::Vec::from_raw_parts(arg2.cast(), len1, len1); |
| 350 | let len2 = arg5; |
| 351 | let bytes2 = _rt::Vec::from_raw_parts(arg4.cast(), len2, len2); |
| 352 | let len3 = arg7; |
| 353 | let bytes3 = _rt::Vec::from_raw_parts(arg6.cast(), len3, len3); |
| 354 | let result4 = T::on_msg( |
| 355 | _rt::string_lift(bytes0), |
| 356 | _rt::string_lift(bytes1), |
| 357 | _rt::string_lift(bytes2), |
| 358 | _rt::string_lift(bytes3), |
| 359 | ); |
| 360 | let ptr5 = (&raw mut _RET_AREA.0).cast::<u8>(); |
| 361 | let vec11 = result4; |
| 362 | let len11 = vec11.len(); |
| 363 | let layout11 = _rt::alloc::Layout::from_size_align_unchecked( |
| 364 | vec11.len() * (8 * ::core::mem::size_of::<*const u8>()), |
| 365 | ::core::mem::size_of::<*const u8>(), |
| 366 | ); |
| 367 | let result11 = if layout11.size() != 0 { |
| 368 | let ptr = _rt::alloc::alloc(layout11).cast::<u8>(); |
| 369 | if ptr.is_null() { |
| 370 | _rt::alloc::handle_alloc_error(layout11); |
| 371 | } |
| 372 | ptr |
| 373 | } else { |
| 374 | ::core::ptr::null_mut() |
| 375 | }; |
| 376 | for (i, e) in vec11.into_iter().enumerate() { |
| 377 | let base = result11 |
| 378 | .add(i * (8 * ::core::mem::size_of::<*const u8>())); |
| 379 | { |
| 380 | match e { |
| 381 | Action::Respond(e) => { |
| 382 | *base.add(0).cast::<u8>() = (0i32) as u8; |
| 383 | let Message { text: text6, html: html6, to: to6 } = e; |
| 384 | let vec7 = (text6.into_bytes()).into_boxed_slice(); |
| 385 | let ptr7 = vec7.as_ptr().cast::<u8>(); |
| 386 | let len7 = vec7.len(); |
| 387 | ::core::mem::forget(vec7); |
| 388 | *base |
| 389 | .add(2 * ::core::mem::size_of::<*const u8>()) |
| 390 | .cast::<usize>() = len7; |
| 391 | *base |
| 392 | .add(::core::mem::size_of::<*const u8>()) |
nothing calls this directly
no test coverage detected