Skip to main content

luaur_vm/functions/
lua_encodepointer.rs

1use crate::type_aliases::lua_state::lua_State;
2
3#[no_mangle]
4pub unsafe fn lua_encodepointer(l: *mut lua_State, p: usize) -> usize {
5    let g = (*l).global;
6    let p = p as u64;
7    let ptrenckey = (*g).ptrenckey;
8
9    let result = (ptrenckey[0].wrapping_mul(p).wrapping_add(ptrenckey[2]))
10        ^ (ptrenckey[1].wrapping_mul(p).wrapping_add(ptrenckey[3]));
11
12    result as usize
13}