luaur_vm/functions/
dumprefs.rs1use crate::functions::dumpref::dumpref;
2use crate::macros::gcvalue::gcvalue;
3use crate::macros::iscollectable::iscollectable;
4use crate::type_aliases::t_value::TValue;
5
6#[allow(non_snake_case)]
7pub(crate) unsafe fn dumprefs(f: *mut core::ffi::c_void, data: *mut TValue, size: usize) {
8 let mut first = true;
9
10 for i in 0..size {
11 let val_ptr = data.add(i);
12 if iscollectable!(val_ptr) {
13 if !first {
14 extern "C" {
15 fn fputc(
16 c: core::ffi::c_int,
17 stream: *mut core::ffi::c_void,
18 ) -> core::ffi::c_int;
19 }
20 fputc(',' as core::ffi::c_int, f);
21 }
22 first = false;
23
24 dumpref(f, gcvalue!(val_ptr));
25 }
26 }
27}