Skip to main content

luaur_vm/functions/
lua_namecallatom.rs

1use crate::macros::atom_undef::ATOM_UNDEF;
2use crate::macros::getstr::getstr;
3use crate::macros::lua_s_updateatom::luaS_updateatom;
4use crate::records::lua_state::lua_State;
5use crate::records::t_string::TString;
6use crate::type_aliases::lua_state::lua_State as lua_State_alias;
7use crate::type_aliases::t_string::TString as TString_alias;
8
9#[allow(non_snake_case)]
10pub unsafe fn lua_namecallatom(
11    L: *mut lua_State_alias,
12    atom: *mut i32,
13) -> *const core::ffi::c_char {
14    let s = (*L).namecall;
15    if s.is_null() {
16        return core::ptr::null();
17    }
18    if !atom.is_null() {
19        luaS_updateatom!(L, s);
20        *atom = (*s).atom as i32;
21    }
22    getstr(s)
23}