cpp: fixed missing ctx.user.z = z and release_zone uses pointer swapp instead of copying #42

This commit is contained in:
frsyuki
2011-04-17 08:24:33 +09:00
parent 3384dbc92d
commit 23480bfe8a

View File

@@ -335,11 +335,11 @@ msgpack_zone* msgpack_unpacker_release_zone(msgpack_unpacker* mpac)
return NULL; return NULL;
} }
msgpack_zone old = *mpac->z; msgpack_zone* old = mpac->z;
*mpac->z = *r; mpac->z = r;
*r = old; CTX_CAST(mpac->ctx)->user.z = mpac->z;
return r; return old;
} }
void msgpack_unpacker_reset_zone(msgpack_unpacker* mpac) void msgpack_unpacker_reset_zone(msgpack_unpacker* mpac)