luaur_vm/functions/
read_string.rs1use crate::functions::read_var_int::read_var_int;
2use crate::records::temp_buffer::TempBuffer;
3use crate::type_aliases::t_string::TString;
4use core::ffi::c_char;
5
6pub fn read_string(
7 strings: &mut TempBuffer<*mut TString>,
8 data: *const c_char,
9 size: usize,
10 offset: &mut usize,
11) -> *mut TString {
12 let id = read_var_int(data, size, offset);
13
14 if id == 0 {
15 core::ptr::null_mut()
16 } else {
17 unsafe { *strings.data.add((id - 1) as usize) }
18 }
19}