Skip to main content

luaur_vm/macros/
lua_m_reallocarray.rs

1use crate::functions::lua_m_realloc::lua_m_realloc_;
2use crate::macros::cast_to::cast_to;
3use crate::macros::lua_m_arraysize::lua_m_arraysize;
4
5#[allow(non_snake_case)]
6#[macro_export]
7macro_rules! lua_m_reallocarray {
8    ($L:expr, $v:expr, $oldn:expr, $n:expr, $t:ty, $memcat:expr) => {
9        $v = $crate::macros::cast_to::cast_to!(
10            *mut $t,
11            $crate::functions::lua_m_realloc::lua_m_realloc_(
12                $L,
13                $v as *mut core::ffi::c_void,
14                ($oldn) * core::mem::size_of::<$t>(),
15                $crate::macros::lua_m_arraysize::lua_m_arraysize!(
16                    $L,
17                    $n,
18                    core::mem::size_of::<$t>()
19                ),
20                $memcat as u8
21            )
22        )
23    };
24}
25
26pub use lua_m_reallocarray;
27
28#[allow(unused_imports)]
29pub use lua_m_reallocarray as luaM_reallocarray;