diff options
Diffstat (limited to 'src/keeper.cpp')
-rw-r--r-- | src/keeper.cpp | 21 |
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 | ||
210 | int keeper_push_linda_storage(Universe* U, lua_State* L, void* ptr_, uintptr_t magic_) | 210 | int 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 | } |