diff options
| author | Benoit Germain <bnt.germain@gmail.com> | 2013-02-14 16:03:30 +0100 |
|---|---|---|
| committer | Benoit Germain <bnt.germain@gmail.com> | 2013-02-14 16:03:30 +0100 |
| commit | 02ea6ffb2fb3bfac3e96e9d23b28dc8490b366a5 (patch) | |
| tree | 2fa86a2927a945dc525eb99f552339f132457935 /src | |
| parent | 577bca074df12c520f49e9361381f0cad78200c1 (diff) | |
| download | lanes-02ea6ffb2fb3bfac3e96e9d23b28dc8490b366a5.tar.gz lanes-02ea6ffb2fb3bfac3e96e9d23b28dc8490b366a5.tar.bz2 lanes-02ea6ffb2fb3bfac3e96e9d23b28dc8490b366a5.zip | |
Fix bad assertion in linda dump utility
Diffstat (limited to 'src')
| -rw-r--r-- | src/keeper.c | 10 |
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); |
