diff options
Diffstat (limited to 'src/symbols/exception.rs')
-rw-r--r-- | src/symbols/exception.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/symbols/exception.rs b/src/symbols/exception.rs new file mode 100644 index 00000000..849db3bc --- /dev/null +++ b/src/symbols/exception.rs @@ -0,0 +1,8 @@ +use std::slice; + +#[export_name = "cxxbridge03$exception"] +unsafe extern "C" fn exception(ptr: *const u8, len: usize) -> *const u8 { + let slice = slice::from_raw_parts(ptr, len); + let boxed = String::from_utf8_lossy(slice).into_owned().into_boxed_str(); + Box::leak(boxed).as_ptr() +} |