Skip to main content

luaur_vm/macros/
lua_s_updateatom.rs

1//! Node: `cxx:Macro:Luau.VM:VM/src/lstring.h:21:lua_s_updateatom`
2//! Source: `VM/src/lstring.h` (lstring.h:21-25, hand-ported)
3
4// #define luaS_updateatom(L, ts)
5//     { if (ts->atom == ATOM_UNDEF)
6//           ts->atom = L->global->cb.useratom ? L->global->cb.useratom(L, ts->data, ts->len) : -1; }
7#[allow(non_snake_case)]
8#[macro_export]
9macro_rules! luaS_updateatom {
10    ($L:expr, $ts:expr) => {
11        if (*$ts).atom as i32 == $crate::macros::atom_undef::ATOM_UNDEF {
12            (*$ts).atom = match (*(*$L).global).cb.useratom {
13                Some(useratom) => useratom(
14                    $L,
15                    core::ptr::addr_of!((*$ts).data) as *const core::ffi::c_char,
16                    (*$ts).len as usize,
17                ),
18                None => -1,
19            };
20        }
21    };
22}
23
24pub use luaS_updateatom;
25#[allow(unused_imports)]
26pub use luaS_updateatom as lua_s_updateatom;