luaur_vm/functions/
lua_f_findlocal.rs1use core::ffi::c_int;
2
3use crate::records::loc_var::LocVar;
4use crate::records::proto::Proto;
5
6#[allow(non_snake_case)]
7pub unsafe fn luaF_findlocal(f: *const Proto, local_reg: c_int, pc: c_int) -> *const LocVar {
8 let mut i: c_int = 0;
9 let sizelocvars = (*f).sizelocvars;
10 let locvars = (*f).locvars;
11
12 while i < sizelocvars {
13 let locvar = &*locvars.add(i as usize);
14 if local_reg == locvar.reg as c_int && pc >= locvar.startpc && pc < locvar.endpc {
15 return locvars.add(i as usize) as *const LocVar;
16 }
17 i += 1;
18 }
19
20 core::ptr::null()
21}