From 02ea6ffb2fb3bfac3e96e9d23b28dc8490b366a5 Mon Sep 17 00:00:00 2001 From: Benoit Germain Date: Thu, 14 Feb 2013 16:03:30 +0100 Subject: Fix bad assertion in linda dump utility --- src/keeper.c | 10 ++++++++-- 1 file 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) STACK_MID( KL, 0); return 0; } + // move data from keeper to destination state KEEPER MAIN lua_pushnil( KL); // storage nil + STACK_CHECK( L); lua_newtable( L); // out while( lua_next( KL, -2)) // storage key fifo { keeper_fifo* fifo = prepare_fifo_access( KL, -1); // storage key fifo lua_pushvalue( KL, -2); // storage key fifo key luaG_inter_move( KL, L, 1); // storage key fifo // out key - STACK_CHECK( L); + STACK_MID( L, 2); lua_newtable( L); // out key keyout luaG_inter_move( KL, L, 1); // storage key // out key keyout fifo lua_pushinteger( L, fifo->first); // out key keyout fifo first + STACK_MID( L, 5); lua_setfield( L, -3, "first"); // out key keyout fifo lua_pushinteger( L, fifo->count); // out key keyout fifo count + STACK_MID( L, 5); lua_setfield( L, -3, "count"); // out key keyout fifo lua_pushinteger( L, fifo->limit); // out key keyout fifo limit + STACK_MID( L, 5); lua_setfield( L, -3, "limit"); // out key keyout fifo lua_setfield( L, -2, "fifo"); // out key keyout lua_rawset( L, -3); // out - STACK_END( L, 0); + STACK_MID( L, 1); } + STACK_END( L, 1); lua_pop( KL, 1); // STACK_END( KL, 0); keeper_release( K); -- cgit v1.2.3-55-g6feb