1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
extern crate td_rlua;
#[allow(improper_ctypes)]
extern "C" {
pub fn luaopen_socket_core(L : *mut td_rlua::lua_State) -> libc::c_int;
}
extern "C" fn safe_luaopen_socket_core(lua: *mut td_rlua::lua_State) -> libc::c_int {
unsafe {
luaopen_socket_core(lua)
}
}
extern "C" fn load_func(lua: *mut td_rlua::lua_State) -> libc::c_int {
let path:String = td_rlua::LuaRead::lua_read(lua).unwrap_or(String::new());
if &path == "socket.core" || &path == "luasocket" || &path == "socket" {
unsafe {
td_rlua::lua_pushcfunction(lua, safe_luaopen_socket_core);
}
return 1;
}
return 0;
}
pub fn enable_socket_core(lua : &mut td_rlua::Lua) {
lua.add_lualoader(load_func);
}