luaur_vm/functions/
lua_l_prepbuffsize.rs1use 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}