luaur-vm 0.1.3

The Luau register virtual machine and standard library (Rust).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::enums::lua_type::lua_Type;
use crate::macros::gco_2_u::gco2u;
use crate::records::gc_object::GCObject;
use core::ffi::c_void;

#[inline]
pub fn enumtopointer(gco: *mut GCObject) -> *mut c_void {
    unsafe {
        if (*gco).gch.tt == (lua_Type::LUA_TUSERDATA as u8) {
            let u = gco2u!(gco);
            (*u).data.as_mut_ptr() as *mut c_void
        } else {
            gco as *mut c_void
        }
    }
}