aboutsummaryrefslogtreecommitdiff
path: root/src/keeper.c
diff options
context:
space:
mode:
authorBenoit Germain <bnt.germain@gmail.com>2013-02-14 16:03:30 +0100
committerBenoit Germain <bnt.germain@gmail.com>2013-02-14 16:03:30 +0100
commit02ea6ffb2fb3bfac3e96e9d23b28dc8490b366a5 (patch)
tree2fa86a2927a945dc525eb99f552339f132457935 /src/keeper.c
parent577bca074df12c520f49e9361381f0cad78200c1 (diff)
downloadlanes-02ea6ffb2fb3bfac3e96e9d23b28dc8490b366a5.tar.gz
lanes-02ea6ffb2fb3bfac3e96e9d23b28dc8490b366a5.tar.bz2
lanes-02ea6ffb2fb3bfac3e96e9d23b28dc8490b366a5.zip
Fix bad assertion in linda dump utility
Diffstat (limited to 'src/keeper.c')
-rw-r--r--src/keeper.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/keeper.c b/src/keeper.c
index 848fe2a..4a5c913 100644
--- a/src/keeper.c
+++ b/src/keeper.c
@@ -199,26 +199,32 @@ int keeper_push_linda_storage( lua_State* L, void* ptr)
199 STACK_MID( KL, 0); 199 STACK_MID( KL, 0);
200 return 0; 200 return 0;
201 } 201 }
202 // move data from keeper to destination state KEEPER MAIN
202 lua_pushnil( KL); // storage nil 203 lua_pushnil( KL); // storage nil
204 STACK_CHECK( L);
203 lua_newtable( L); // out 205 lua_newtable( L); // out
204 while( lua_next( KL, -2)) // storage key fifo 206 while( lua_next( KL, -2)) // storage key fifo
205 { 207 {
206 keeper_fifo* fifo = prepare_fifo_access( KL, -1); // storage key fifo 208 keeper_fifo* fifo = prepare_fifo_access( KL, -1); // storage key fifo
207 lua_pushvalue( KL, -2); // storage key fifo key 209 lua_pushvalue( KL, -2); // storage key fifo key
208 luaG_inter_move( KL, L, 1); // storage key fifo // out key 210 luaG_inter_move( KL, L, 1); // storage key fifo // out key
209 STACK_CHECK( L); 211 STACK_MID( L, 2);
210 lua_newtable( L); // out key keyout 212 lua_newtable( L); // out key keyout
211 luaG_inter_move( KL, L, 1); // storage key // out key keyout fifo 213 luaG_inter_move( KL, L, 1); // storage key // out key keyout fifo
212 lua_pushinteger( L, fifo->first); // out key keyout fifo first 214 lua_pushinteger( L, fifo->first); // out key keyout fifo first
215 STACK_MID( L, 5);
213 lua_setfield( L, -3, "first"); // out key keyout fifo 216 lua_setfield( L, -3, "first"); // out key keyout fifo
214 lua_pushinteger( L, fifo->count); // out key keyout fifo count 217 lua_pushinteger( L, fifo->count); // out key keyout fifo count
218 STACK_MID( L, 5);
215 lua_setfield( L, -3, "count"); // out key keyout fifo 219 lua_setfield( L, -3, "count"); // out key keyout fifo
216 lua_pushinteger( L, fifo->limit); // out key keyout fifo limit 220 lua_pushinteger( L, fifo->limit); // out key keyout fifo limit
221 STACK_MID( L, 5);
217 lua_setfield( L, -3, "limit"); // out key keyout fifo 222 lua_setfield( L, -3, "limit"); // out key keyout fifo
218 lua_setfield( L, -2, "fifo"); // out key keyout 223 lua_setfield( L, -2, "fifo"); // out key keyout
219 lua_rawset( L, -3); // out 224 lua_rawset( L, -3); // out
220 STACK_END( L, 0); 225 STACK_MID( L, 1);
221 } 226 }
227 STACK_END( L, 1);
222 lua_pop( KL, 1); // 228 lua_pop( KL, 1); //
223 STACK_END( KL, 0); 229 STACK_END( KL, 0);
224 keeper_release( K); 230 keeper_release( K);