Skip to main content

luaur_vm/functions/
callerrfunc.rs

1//! Node: `cxx:Function:Luau.VM:VM/src/ldo.cpp:718:callerrfunc`
2//! Source: `VM/src/ldo.cpp` (ldo.cpp:718-727, hand-ported)
3
4use crate::functions::lua_d_callny::lua_d_callny;
5use crate::macros::incr_top::incr_top;
6use crate::macros::setobj_2_s::setobj_2_s;
7use crate::type_aliases::lua_state::lua_State;
8use crate::type_aliases::stk_id::StkId;
9
10pub unsafe fn callerrfunc(l: *mut lua_State, ud: *mut core::ffi::c_void) {
11    let errfunc = ud as StkId;
12
13    setobj_2_s!(l, (*l).top, (*l).top.offset(-1));
14    setobj_2_s!(l, (*l).top.offset(-1), errfunc);
15    incr_top!(l);
16
17    lua_d_callny(l, (*l).top.offset(-2), 1);
18}