aboutsummaryrefslogtreecommitdiff
path: root/src/lua.c
diff options
context:
space:
mode:
authorame <[email protected]>2024-02-09 13:29:04 -0600
committerame <[email protected]>2024-02-09 13:29:04 -0600
commite412e6eaddfa1bc03c7e52ca36a05ff138606d35 (patch)
tree39c92afbf5d06d4a3def8254a820d92d37a425c5 /src/lua.c
parent84bf02e17cac724d7898293b5f206408de413cc9 (diff)
get silly
Diffstat (limited to 'src/lua.c')
-rw-r--r--src/lua.c18
1 files changed, 11 insertions, 7 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: