Skip to main content

luaur_vm/functions/
setboolfield.rs

1use crate::functions::lua_pushboolean::lua_pushboolean;
2use crate::functions::lua_setfield::lua_setfield;
3use crate::type_aliases::lua_state::lua_State;
4use core::ffi::c_char;
5
6pub fn setboolfield(L: *mut lua_State, key: &str, value: i32) {
7    if value < 0 {
8        return;
9    }
10
11    unsafe {
12        lua_pushboolean(L, value);
13
14        let key_bytes = key.as_bytes();
15        let mut buf = key_bytes.to_vec();
16        buf.push(0);
17        let key_c: *const c_char = buf.as_ptr() as *const c_char;
18
19        lua_setfield(L, -2, key_c);
20    }
21}