mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-03-25 19:32:11 +01:00
cpp: msgpack::unpack returns void
This commit is contained in:
parent
5a92c861e3
commit
d42ecccf6f
@ -160,7 +160,7 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static bool unpack(unpacked* result,
|
static void unpack(unpacked* result,
|
||||||
const char* data, size_t len, size_t* offset = NULL);
|
const char* data, size_t len, size_t* offset = NULL);
|
||||||
|
|
||||||
|
|
||||||
@ -312,7 +312,7 @@ inline void unpacker::remove_nonparsed_buffer()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline bool unpack(unpacked* result,
|
inline void unpack(unpacked* result,
|
||||||
const char* data, size_t len, size_t* offset)
|
const char* data, size_t len, size_t* offset)
|
||||||
{
|
{
|
||||||
msgpack::object obj;
|
msgpack::object obj;
|
||||||
@ -326,12 +326,12 @@ inline bool unpack(unpacked* result,
|
|||||||
case UNPACK_SUCCESS:
|
case UNPACK_SUCCESS:
|
||||||
result->get() = obj;
|
result->get() = obj;
|
||||||
result->zone() = z;
|
result->zone() = z;
|
||||||
return false;
|
return;
|
||||||
|
|
||||||
case UNPACK_EXTRA_BYTES:
|
case UNPACK_EXTRA_BYTES:
|
||||||
result->get() = obj;
|
result->get() = obj;
|
||||||
result->zone() = z;
|
result->zone() = z;
|
||||||
return true;
|
return;
|
||||||
|
|
||||||
case UNPACK_CONTINUE:
|
case UNPACK_CONTINUE:
|
||||||
throw unpack_error("insufficient bytes");
|
throw unpack_error("insufficient bytes");
|
||||||
|
@ -77,21 +77,17 @@ TEST(unpack, sequence)
|
|||||||
msgpack::pack(sbuf, 2);
|
msgpack::pack(sbuf, 2);
|
||||||
msgpack::pack(sbuf, 3);
|
msgpack::pack(sbuf, 3);
|
||||||
|
|
||||||
bool cont;
|
|
||||||
size_t offset = 0;
|
size_t offset = 0;
|
||||||
|
|
||||||
msgpack::unpacked msg;
|
msgpack::unpacked msg;
|
||||||
|
|
||||||
cont = msgpack::unpack(&msg, sbuf.data(), sbuf.size(), &offset);
|
msgpack::unpack(&msg, sbuf.data(), sbuf.size(), &offset);
|
||||||
EXPECT_TRUE(cont);
|
|
||||||
EXPECT_EQ(1, msg.get().as<int>());
|
EXPECT_EQ(1, msg.get().as<int>());
|
||||||
|
|
||||||
cont = msgpack::unpack(&msg, sbuf.data(), sbuf.size(), &offset);
|
msgpack::unpack(&msg, sbuf.data(), sbuf.size(), &offset);
|
||||||
EXPECT_TRUE(cont);
|
|
||||||
EXPECT_EQ(2, msg.get().as<int>());
|
EXPECT_EQ(2, msg.get().as<int>());
|
||||||
|
|
||||||
cont = msgpack::unpack(&msg, sbuf.data(), sbuf.size(), &offset);
|
msgpack::unpack(&msg, sbuf.data(), sbuf.size(), &offset);
|
||||||
EXPECT_FALSE(cont);
|
|
||||||
EXPECT_EQ(3, msg.get().as<int>());
|
EXPECT_EQ(3, msg.get().as<int>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user