From 85c4718212e44b0e01485260b5f1574d5c7411a9 Mon Sep 17 00:00:00 2001 From: ame Date: Sun, 21 Jan 2024 19:35:25 -0600 Subject: stuff --- src/reg.c | 56 ++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 14 deletions(-) (limited to 'src/reg.c') diff --git a/src/reg.c b/src/reg.c index a9c07bb..030a93f 100644 --- a/src/reg.c +++ b/src/reg.c @@ -5,33 +5,61 @@ #include "io.h" #include "math.h" #include "net.h" +#include + +static int lua_exit(lua_State* L){ + printf("hi\n"); + return 0; +} + +void sigHandle(int s){ + signal(s, SIG_IGN); + printf("meow\n"); + signal(s, sigHandle); +} + int luaopen_llib(lua_State* L) { - lua_newtable(L); + /* + lua_newuserdata(L, sizeof(void*)); + luaL_newmetatable(L, "gc"); + lua_pushstring(L, "__gc"); + lua_pushcfunction(L, &lua_exit); + lua_settable(L, -3); + + lua_setmetatable(L, -2); + lua_setfield(L, LUA_REGISTRYINDEX, "grr"); + signal(SIGTERM, sigHandle); + signal(SIGINT, sigHandle); +*/ //create .array functions lua_newtable(L); + + //lua_newtable(L); + lua_pushstring(L, "array"); luaL_register(L, NULL, array_function_list); - lua_setfield(L, 2, "array"); - - lua_newtable(L); + lua_settable(L, -3); + + lua_pushstring(L, "crypto"); luaL_register(L, NULL, crypto_function_list); - lua_setfield(L, 2, "crypto"); - - lua_newtable(L); + lua_settable(L, -3); + + lua_pushstring(L, "io"); luaL_register(L, NULL, io_function_list); - lua_setfield(L, 2, "io"); + lua_settable(L, -3); - lua_newtable(L); + lua_pushstring(L, "math"); luaL_register(L, NULL, math_function_list); - lua_setfield(L, 2, "math"); + lua_settable(L, -3); - lua_newtable(L); + lua_pushstring(L, "config"); luaL_register(L, NULL, config_function_list); - lua_setfield(L, 2, "config"); + lua_settable(L, -3); - lua_newtable(L); + lua_pushstring(L, "net"); luaL_register(L, NULL, net_function_list); - lua_setfield(L, 2, "net"); + lua_settable(L, -3); + //make llib global lua_setglobal(L, "llib"); return 1; -- cgit v1.2.3