aboutsummaryrefslogtreecommitdiff
path: root/src/keeper.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/keeper.cpp')
-rw-r--r--src/keeper.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/keeper.cpp b/src/keeper.cpp
index f88d0ab..aab7abe 100644
--- a/src/keeper.cpp
+++ b/src/keeper.cpp
@@ -188,7 +188,7 @@ static void push_table(lua_State* L, int idx_)
188 STACK_GROW(L, 5); 188 STACK_GROW(L, 5);
189 STACK_CHECK_START_REL(L, 0); 189 STACK_CHECK_START_REL(L, 0);
190 idx_ = lua_absindex(L, idx_); 190 idx_ = lua_absindex(L, idx_);
191 FIFOS_KEY.query_registry(L); // ud fifos 191 FIFOS_KEY.pushValue(L); // ud fifos
192 lua_pushvalue(L, idx_); // ud fifos ud 192 lua_pushvalue(L, idx_); // ud fifos ud
193 lua_rawget(L, -2); // ud fifos fifos[ud] 193 lua_rawget(L, -2); // ud fifos fifos[ud]
194 STACK_CHECK(L, 2); 194 STACK_CHECK(L, 2);
@@ -209,16 +209,17 @@ static void push_table(lua_State* L, int idx_)
209 209
210int keeper_push_linda_storage(Universe* U, lua_State* L, void* ptr_, uintptr_t magic_) 210int keeper_push_linda_storage(Universe* U, lua_State* L, void* ptr_, uintptr_t magic_)
211{ 211{
212 Keeper* const K = which_keeper( U->keepers, magic_); 212 Keeper* const K{ which_keeper(U->keepers, magic_) };
213 lua_State* const KL = K ? K->L : nullptr; 213 lua_State* const KL{ K ? K->L : nullptr };
214 if( KL == nullptr) return 0; 214 if (KL == nullptr)
215 return 0;
215 STACK_GROW(KL, 4); 216 STACK_GROW(KL, 4);
216 STACK_CHECK_START_REL(KL, 0); 217 STACK_CHECK_START_REL(KL, 0);
217 FIFOS_KEY.query_registry(KL); // fifos 218 FIFOS_KEY.pushValue(KL); // fifos
218 lua_pushlightuserdata(KL, ptr_); // fifos ud 219 lua_pushlightuserdata(KL, ptr_); // fifos ud
219 lua_rawget(KL, -2); // fifos storage 220 lua_rawget(KL, -2); // fifos storage
220 lua_remove(KL, -2); // storage 221 lua_remove(KL, -2); // storage
221 if( !lua_istable(KL, -1)) 222 if (!lua_istable(KL, -1))
222 { 223 {
223 lua_pop(KL, 1); // 224 lua_pop(KL, 1); //
224 STACK_CHECK(KL, 0); 225 STACK_CHECK(KL, 0);
@@ -229,7 +230,7 @@ int keeper_push_linda_storage(Universe* U, lua_State* L, void* ptr_, uintptr_t m
229 STACK_GROW(L, 5); 230 STACK_GROW(L, 5);
230 STACK_CHECK_START_REL(L, 0); 231 STACK_CHECK_START_REL(L, 0);
231 lua_newtable(L); // out 232 lua_newtable(L); // out
232 while( lua_next(KL, -2)) // storage key fifo 233 while (lua_next(KL, -2)) // storage key fifo
233 { 234 {
234 keeper_fifo* fifo = prepare_fifo_access(KL, -1); // storage key fifotbl 235 keeper_fifo* fifo = prepare_fifo_access(KL, -1); // storage key fifotbl
235 lua_pushvalue(KL, -2); // storage key fifotbl key 236 lua_pushvalue(KL, -2); // storage key fifotbl key
@@ -263,7 +264,7 @@ int keepercall_clear(lua_State* L)
263{ 264{
264 STACK_GROW(L, 3); 265 STACK_GROW(L, 3);
265 STACK_CHECK_START_REL(L, 0); 266 STACK_CHECK_START_REL(L, 0);
266 FIFOS_KEY.query_registry(L); // ud fifos 267 FIFOS_KEY.pushValue(L); // ud fifos
267 lua_pushvalue(L, 1); // ud fifos ud 268 lua_pushvalue(L, 1); // ud fifos ud
268 lua_pushnil(L); // ud fifos ud nil 269 lua_pushnil(L); // ud fifos ud nil
269 lua_rawset(L, -3); // ud fifos 270 lua_rawset(L, -3); // ud fifos
@@ -722,7 +723,7 @@ void init_keepers(Universe* U, lua_State* L)
722 lua_pushfstring(K, "Keeper #%d", i + 1); // "Keeper #n" 723 lua_pushfstring(K, "Keeper #%d", i + 1); // "Keeper #n"
723 lua_setglobal(K, "decoda_name"); // 724 lua_setglobal(K, "decoda_name"); //
724 // create the fifos table in the keeper state 725 // create the fifos table in the keeper state
725 FIFOS_KEY.set_registry(K, [](lua_State* L) { lua_newtable(L); }); 726 FIFOS_KEY.setValue(K, [](lua_State* L) { lua_newtable(L); });
726 STACK_CHECK(K, 0); 727 STACK_CHECK(K, 0);
727 } 728 }
728 STACK_CHECK(L, 0); 729 STACK_CHECK(L, 0);
@@ -788,7 +789,7 @@ void keeper_toggle_nil_sentinels(lua_State* L, int val_i_, LookupMode const mode
788 { 789 {
789 if (lua_isnil(L, i)) 790 if (lua_isnil(L, i))
790 { 791 {
791 NIL_SENTINEL.push(L); 792 NIL_SENTINEL.pushKey(L);
792 lua_replace(L, i); 793 lua_replace(L, i);
793 } 794 }
794 } 795 }