Skip to main content

luaur_vm/functions/
dumpbuffer.rs

1use crate::macros::sizebuffer::sizebuffer;
2use crate::type_aliases::buffer::Buffer;
3
4#[allow(non_snake_case)]
5pub(crate) unsafe fn dumpbuffer(f: *mut core::ffi::c_void, b: *mut Buffer) {
6    let b = &*b;
7    let fmt = "{\"type\":\"buffer\",\"cat\":%d,\"size\":%d}\0";
8
9    extern "C" {
10        fn fprintf(
11            stream: *mut core::ffi::c_void,
12            format: *const core::ffi::c_char,
13            ...
14        ) -> core::ffi::c_int;
15    }
16
17    fprintf(
18        f,
19        fmt.as_ptr() as *const core::ffi::c_char,
20        b.memcat as core::ffi::c_int,
21        sizebuffer(b.len as usize) as core::ffi::c_int,
22    );
23}