Skip to main content

luaur_vm/functions/
getthread.rs

1use crate::functions::lua_tothread::lua_tothread;
2use crate::macros::lua_isthread::lua_isthread;
3use crate::type_aliases::lua_state::lua_State;
4use core::ffi::c_int;
5
6pub fn getthread(l: *mut lua_State, arg: *mut c_int) -> *mut lua_State {
7    if unsafe { lua_isthread!(l, 1) } {
8        unsafe {
9            *arg = 1;
10            lua_tothread(l, 1)
11        }
12    } else {
13        unsafe {
14            *arg = 0;
15        }
16        l
17    }
18}