luaur_vm/functions/
buffer_fromstring.rs1use crate::functions::lua_l_checklstring::lua_l_checklstring;
2use crate::functions::lua_newbuffer::lua_newbuffer;
3use crate::type_aliases::lua_state::lua_State;
4use core::ffi::c_char;
5use core::ffi::c_int;
6
7pub fn buffer_fromstring(L: *mut lua_State) -> c_int {
8 unsafe {
9 let mut len: usize = 0;
10 let val = unsafe { lua_l_checklstring(L, 1, &mut len) };
11
12 let data = lua_newbuffer(L, len);
13 unsafe {
14 core::ptr::copy_nonoverlapping(val as *const u8, data as *mut u8, len);
15 }
16
17 1
18 }
19}