Skip to main content

luaur_vm/macros/
pc_rel.rs

1use crate::macros::cast_to::cast_to;
2
3#[allow(non_snake_case)]
4#[macro_export]
5macro_rules! pcRel {
6    ($pc:expr, $p:expr) => {
7        if !$pc.is_null() && $pc != (*$p).code {
8            $crate::macros::cast_to::cast_to!(
9                core::ffi::c_int,
10                ($pc as usize).wrapping_sub((*$p).code as usize) / core::mem::size_of::<u32>()
11            ) - 1
12        } else {
13            0
14        }
15    };
16}
17
18pub use pcRel;