diff options
| author | ame <[email protected]> | 2024-01-21 19:35:25 -0600 |
|---|---|---|
| committer | ame <[email protected]> | 2024-01-21 19:35:25 -0600 |
| commit | 85c4718212e44b0e01485260b5f1574d5c7411a9 (patch) | |
| tree | adeb629adaa7078c598385f96c013282b10c9c74 /src | |
| parent | f27507a6cc914b04746f4608a217f5da21aa86a7 (diff) | |
stuff
Diffstat (limited to 'src')
| -rw-r--r-- | src/lua.h | 11 | ||||
| -rw-r--r-- | src/net.c | 8 | ||||
| -rw-r--r-- | src/reg.c | 56 |
3 files changed, 55 insertions, 20 deletions
@@ -1,3 +1,8 @@ -#include <lua5.1/lua.h> -#include <lua5.1/lualib.h> -#include <lua5.1/lauxlib.h> +#include <lua5.4/lua.h> +#include <lua5.4/lualib.h> +#include <lua5.4/lauxlib.h> + +#define lua_objlen(L,i) lua_rawlen(L,(i)) +#define luaL_register(L, M, F) luaL_newlib(L, F); + + @@ -6,6 +6,7 @@ #else #include <sys/socket.h> #include <arpa/inet.h> +#define closesocket close #endif #include <sys/types.h> @@ -208,11 +209,12 @@ int l_send(lua_State* L){ lua_pushstring(L, "client_fd"); lua_gettable(L, res_idx); int client_fd = luaL_checkinteger(L, -1); - + + /* lua_pushvalue(L, res_idx); lua_pushstring(L, "Content"); - lua_gettable(L, res_idx); - char* content = (char*)luaL_checkstring(L, -1); + lua_gettable(L, res_idx);*/ + char* content = (char*)luaL_checkstring(L, 2); lua_pushvalue(L, res_idx); lua_pushstring(L, "Content-Type"); @@ -5,33 +5,61 @@ #include "io.h" #include "math.h" #include "net.h" +#include <signal.h> + +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 <lib>.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; |
