luaur_vm/functions/
lua_break.rs1use crate::enums::lua_status::lua_Status;
2use crate::functions::lua_d_throw_ldo::luaD_throw;
3use crate::functions::lua_g_pusherror::lua_g_pusherror;
4use crate::type_aliases::lua_state::lua_State;
5use core::ffi::c_int;
6
7#[allow(non_snake_case)]
8pub unsafe fn lua_break(l: *mut lua_State) -> c_int {
9 if (*l).nCcalls > (*l).baseCcalls {
10 lua_g_pusherror(
11 l,
12 c"attempt to break across metamethod/C-call boundary".as_ptr(),
13 );
14 luaD_throw(l, lua_Status::LUA_ERRRUN as c_int);
15 }
16
17 (*l).status = lua_Status::LUA_BREAK as u8;
18 -1
19}