version_grab/
version_grab.rs1use lua_latest_sys::{luaL_newstate, luaL_openlibs, lua_getglobal, lua_tostring};
2use std::{
3 error::Error,
4 ffi::{CStr, CString},
5};
6
7fn main() -> Result<(), Box<dyn Error>> {
8 let l = unsafe { luaL_newstate() };
10 unsafe { luaL_openlibs(l) };
11
12 let version = CString::new("_VERSION")?;
14 unsafe { lua_getglobal(l, version.as_ptr()) };
15
16 let version_string_ptr = unsafe { lua_tostring(l, -1) };
18 let version_string = unsafe { CStr::from_ptr(version_string_ptr) }.to_str()?;
19
20 println!("{}", version_string);
22
23 Ok(())
24}