Skip to main content

luaur_vm/functions/
read_string.rs

1use 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}