From 23480bfe8a2dd5d9b31d04e25028679bff7d51f6 Mon Sep 17 00:00:00 2001 From: frsyuki Date: Sun, 17 Apr 2011 08:24:33 +0900 Subject: [PATCH] cpp: fixed missing ctx.user.z = z and release_zone uses pointer swapp instead of copying #42 --- cpp/src/unpack.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cpp/src/unpack.c b/cpp/src/unpack.c index 3f776ed1..d66dc56b 100644 --- a/cpp/src/unpack.c +++ b/cpp/src/unpack.c @@ -335,11 +335,11 @@ msgpack_zone* msgpack_unpacker_release_zone(msgpack_unpacker* mpac) return NULL; } - msgpack_zone old = *mpac->z; - *mpac->z = *r; - *r = old; + msgpack_zone* old = mpac->z; + mpac->z = r; + CTX_CAST(mpac->ctx)->user.z = mpac->z; - return r; + return old; } void msgpack_unpacker_reset_zone(msgpack_unpacker* mpac)