Miscellaneous changes #266
2 changed files with 48 additions and 2 deletions
|
@ -1,12 +1,14 @@
|
||||||
[package]
|
[package]
|
||||||
name = "luajit2-sys"
|
name = "luajit2-sys"
|
||||||
description = "LuaJIT-2.1 FFI Bindings"
|
|
||||||
version = "0.0.1"
|
version = "0.0.1"
|
||||||
|
description = "LuaJIT-2.1 FFI Bindings"
|
||||||
authors = ["Aaron Loucks <aloucks@cofront.net>"]
|
authors = ["Aaron Loucks <aloucks@cofront.net>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
keywords = ["lua", "luajit", "script"]
|
keywords = ["lua", "luajit", "script"]
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
|
readme = "README.md"
|
||||||
repository = "https://github.com/aloucks/luajit2-sys"
|
repository = "https://github.com/aloucks/luajit2-sys"
|
||||||
|
documentation = "https://docs.rs/luajit2-sys"
|
||||||
links = "luajit"
|
links = "luajit"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
46
README.md
46
README.md
|
@ -1,3 +1,47 @@
|
||||||
# Rust LuaJIT 2 Bindings
|
# Rust LuaJIT 2 Bindings
|
||||||
|
|
||||||
[](https://dev.azure.com/aloucks/aloucks/_build/latest?definitionId=3&branchName=master)
|
[](https://crates.io/crates/luajit2-sys)
|
||||||
|
[](https://docs.rs/luajit2-sys)
|
||||||
|
[](https://dev.azure.com/aloucks/aloucks/_build/latest?definitionId=3&branchName=master)
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[dependencies]
|
||||||
|
luajit2-sys = "0.0.1"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Exported Cargo Environment Variables
|
||||||
|
|
||||||
|
|||
|
||||||
|
| -- | -- |
|
||||||
|
| `DEP_LUAJIT_INCLUDE` | Path to the LuaJIT source and headers |
|
||||||
|
| `DEP_LUAJIT_LIB_NAME` | Platform specfic lib name (`lua51` on Windows and `luajit` everywhere else) |
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
```rust
|
||||||
|
use luajit2_sys as sys;
|
||||||
|
use std::ffi::CStr;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
unsafe {
|
||||||
|
let lua = sys::luaL_newstate();
|
||||||
|
sys::luaL_openlibs(lua);
|
||||||
|
let script_data = b"return 1 + 2";
|
||||||
|
let script_name = b"run_script\0";
|
||||||
|
sys::luaL_loadbuffer(
|
||||||
|
lua,
|
||||||
|
script_data.as_ptr() as _,
|
||||||
|
script_data.len() as _,
|
||||||
|
script_name.as_ptr() as _,
|
||||||
|
);
|
||||||
|
sys::lua_pcall(lua, 0, 1, 0);
|
||||||
|
let idx = sys::lua_gettop(lua);
|
||||||
|
let s = sys::lua_tostring(lua, idx);
|
||||||
|
let result = CStr::from_ptr(s).to_string_lossy().to_string();
|
||||||
|
sys::lua_close(lua);
|
||||||
|
|
||||||
|
println!("result: {}", result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue