Skip to main content

luaur_vm/functions/
lua_getlightuserdataname.rs

1use crate::macros::api_check::api_check;
2use crate::macros::getstr::getstr;
3use crate::macros::lua_lutag_limit::LUA_LUTAG_LIMIT;
4use crate::type_aliases::lua_state::lua_State;
5use crate::type_aliases::t_string::TString;
6
7pub fn lua_getlightuserdataname(L: *mut lua_State, tag: i32) -> *const core::ffi::c_char {
8    api_check!(L, (tag as u32) < LUA_LUTAG_LIMIT as u32);
9
10    unsafe {
11        let global = (*L).global;
12        let name = (*global).lightuserdataname[tag as usize];
13        if name.is_null() {
14            core::ptr::null()
15        } else {
16            getstr(name as *const TString)
17        }
18    }
19}