Skip to main content

luaur_repl_cli/functions/
get_config.rs

1use core::ffi::{c_char, c_void};
2use luaur_code_gen::type_aliases::lua_state::lua_State;
3
4use crate::functions::write::{luarequire_WriteResult, write};
5use crate::records::repl_requirer::ReplRequirer;
6
7pub unsafe fn get_config(
8    _L: *mut lua_State,
9    ctx: *mut c_void,
10    buffer: *mut c_char,
11    buffer_size: usize,
12    size_out: *mut usize,
13) -> luarequire_WriteResult {
14    let req = &*(ctx as *const ReplRequirer);
15    let config = req.vfs.get_config();
16    match config {
17        Some(ref s) => write(s.as_ptr() as *const c_void, buffer, buffer_size, size_out),
18        None => luarequire_WriteResult::WRITE_FAILURE,
19    }
20}