Skip to main content

luaur_ast_cli/functions/
assertion_handler.rs

1//! Source: `CLI/src/Ast.cpp:18-22` (hand-ported)
2//! C++ `static int assertionHandler(const char* expr, const char* file, int line, const char* function)`.
3#[no_mangle]
4pub unsafe extern "C" fn assertion_handler(
5    expr: *const core::ffi::c_char,
6    file: *const core::ffi::c_char,
7    line: core::ffi::c_int,
8    _function: *const core::ffi::c_char,
9) -> core::ffi::c_int {
10    let file_str = unsafe { core::ffi::CStr::from_ptr(file) }.to_string_lossy();
11    let expr_str = unsafe { core::ffi::CStr::from_ptr(expr) }.to_string_lossy();
12    println!("{}({}): ASSERTION FAILED: {}", file_str, line, expr_str);
13    1
14}