msgpack_zone* msgpack_unpacker_release_zone(msgpack_unpacker* mpac) { if(!msgpack_unpacker_flush_zone(mpac)) { return NULL; } msgpack_zone* r = msgpack_zone_new(MSGPACK_ZONE_CHUNK_SIZE); if(r == NULL) { return NULL; } msgpack_zone* old = mpac->z; mpac->z = r; return old; }
msgpack_zone* msgpack_unpacker_release_zone(msgpack_unpacker* mpac) { msgpack_zone* r; msgpack_zone* old; if(!msgpack_unpacker_flush_zone(mpac)) { return NULL; } r = msgpack_zone_new(MSGPACK_ZONE_CHUNK_SIZE); if(r == NULL) { return NULL; } old = mpac->z; mpac->z = r; CTX_CAST(mpac->ctx)->user.z = mpac->z; return old; }