mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-03-25 01:55:39 +01:00
cpp: fixes unpacker::next
This commit is contained in:
parent
2af7a7c6ac
commit
8783cf8ec3
@ -219,15 +219,22 @@ inline void unpacker::buffer_consumed(size_t size)
|
||||
inline bool unpacker::next(unpacked* result)
|
||||
{
|
||||
int ret = msgpack_unpacker_execute(this);
|
||||
|
||||
if(ret < 0) {
|
||||
throw unpack_error("parse error");
|
||||
}
|
||||
|
||||
result->zone().reset( release_zone() );
|
||||
result->get() = data();
|
||||
reset();
|
||||
if(ret == 0) {
|
||||
result->zone().reset();
|
||||
result->get() = object();
|
||||
return false;
|
||||
|
||||
return ret > 0;
|
||||
} else {
|
||||
result->zone().reset( release_zone() );
|
||||
result->get() = data();
|
||||
reset();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user