From e412e6eaddfa1bc03c7e52ca36a05ff138606d35 Mon Sep 17 00:00:00 2001 From: ame Date: Fri, 9 Feb 2024 13:29:04 -0600 Subject: get silly --- src/lua.c | 18 +++++++++++------- src/net.c | 1 + tests/net.lua | 17 +++++++++++------ 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/lua.c b/src/lua.c index eb9637b..33b9309 100644 --- a/src/lua.c +++ b/src/lua.c @@ -42,20 +42,22 @@ void i_dcopy(lua_State* src, lua_State* dest, void* _seen){ at = lua_gettop(dest); at2 = lua_gettop(src); - *sp = at2; + *sp = at; whar = parray_get(seen, (void*)lua_topointer(src, at2)); if( whar != NULL){ - //printf("%s\n",lua_tostring(src, at2)); - //printf("WHAR\n"); - - lua_pushvalue(dest, *(int*)whar); + //printf("%s\n",lua_tostring(src, at2 - 1)); + printf("WHAR\n"); + //lua_pop(dest, 1); + //lua_pushvalue(dest, *(int*)whar); return; } else parray_set(seen, (void*)lua_topointer(src, at2), sp); lua_pushnil(src); for(;lua_next(src, at2) != 0;){ lua_pushvalue(src, -2); - + int a = lua_gettop(src); + l_pprint(src); + lua_settop(src, a); i_dcopy(src, dest, seen); lua_pushvalue(src, -2); @@ -64,7 +66,7 @@ void i_dcopy(lua_State* src, lua_State* dest, void* _seen){ lua_settable(dest, at); lua_pop(src, 3); } - lua_settop(dest, at); + //lua_settop(dest, at); break; case LUA_TFUNCTION: if(lua_iscfunction(src, old_top)){ @@ -90,6 +92,8 @@ void i_dcopy(lua_State* src, lua_State* dest, void* _seen){ //lua_pushvalue(dest, -1); break; case LUA_TUSERDATA: + //printf("aww\n"); + //lua_pushnumber(dest, 8); lua_pushlightuserdata(dest, lua_touserdata(src, -1)); break; default: diff --git a/src/net.c b/src/net.c index ccfa28c..3447c02 100644 --- a/src/net.c +++ b/src/net.c @@ -370,6 +370,7 @@ void* handle_client(void *_arg){ lua_getglobal(args->L, "_G"); i_dcopy(args->L, L, NULL); lua_settop(args->L, old_top); + //l_pprint(L); lua_setglobal(L, "_G"); pthread_mutex_unlock(&mutex); diff --git a/tests/net.lua b/tests/net.lua index 9a7b49c..705aaab 100644 --- a/tests/net.lua +++ b/tests/net.lua @@ -7,14 +7,16 @@ sleep = function(a) end end aea = 5 ---_G.wo = llib +local wowa = 5 +_G.wo = llib --_G.ww = llib --llib.io.pprint(_G) -llib.io.pprint(llib.net.listen( + +llib.net.listen( function(server) --llib = nil - llib.io.pprint(_G) - print("wowa") + --llib.io.pprint(_G) + _G.server = server server:all("/*", function(res, req) --llib.io.pprint(res) --llib.io.pprint(res) @@ -31,13 +33,16 @@ llib.io.pprint(llib.net.listen( --print("hi from first") --llib.io.pprint(llib.crypto.md5("hewwo")) --_G.sleep(1) + _G.llib.io.pprint(_G) + --_G.llib.io.pprint(_G.wo.crypto.md5("55")) end) server:GET("/aa", function(res, req) res.header["Content-Type"] = "text/plain" - --_G.server:lock() + _G.server:lock() res:write("hi\n") res:write("next") + _G.server:unlock() res:close() end) @@ -49,4 +54,4 @@ llib.io.pprint(llib.net.listen( end, 8080 -)) +) -- cgit v1.2.3