Skip to main content

luaur_vm/functions/
luaopen_debug.rs

1use crate::functions::db_info::db_info;
2use crate::functions::db_traceback::db_traceback;
3use crate::functions::lua_l_register::lua_l_register;
4use crate::records::lua_l_reg::LuaLReg;
5use crate::type_aliases::lua_state::lua_State;
6
7struct DblibWrapper([LuaLReg; 3]);
8unsafe impl Sync for DblibWrapper {}
9
10static DBLIB: DblibWrapper = DblibWrapper([
11    LuaLReg {
12        name: c"info".as_ptr(),
13        func: Some(db_info),
14    },
15    LuaLReg {
16        name: c"traceback".as_ptr(),
17        func: Some(db_traceback),
18    },
19    LuaLReg {
20        name: core::ptr::null(),
21        func: None,
22    },
23]);
24
25pub unsafe fn luaopen_debug(L: *mut lua_State) -> core::ffi::c_int {
26    lua_l_register(L, c"debug".as_ptr(), DBLIB.0.as_ptr());
27    1
28}