Skip to main content

luaur_vm/functions/
lua_l_prepbuffsize.rs

1use crate::functions::extendstrbuf::extendstrbuf;
2use crate::records::lua_l_strbuf::LuaLStrbuf;
3use core::ffi::c_char;
4
5#[allow(non_snake_case)]
6pub fn lua_l_prepbuffsize(B: *mut LuaLStrbuf, size: usize) -> *mut c_char {
7    unsafe {
8        let current_p = (*B).p;
9        let current_end = (*B).end;
10        if (current_end as usize).wrapping_sub(current_p as usize) < size {
11            extendstrbuf(
12                B,
13                size.wrapping_sub((current_end as usize).wrapping_sub(current_p as usize)),
14                -1,
15            )
16        } else {
17            current_p
18        }
19    }
20}