mirror of
https://github.com/msgpack/msgpack-c.git
synced 2025-10-19 04:33:27 +02:00
Fixed issue #37.
It seems to be gcc's bug. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58416
This commit is contained in:
10
src/unpack.c
10
src/unpack.c
@@ -111,7 +111,11 @@ static inline int template_callback_array(unpack_user* u, unsigned int n, msgpac
|
||||
}
|
||||
|
||||
static inline int template_callback_array_item(unpack_user* u, msgpack_object* c, msgpack_object o)
|
||||
{ c->via.array.ptr[c->via.array.size++] = o; return 0; }
|
||||
{
|
||||
memcpy(&c->via.array.ptr[c->via.array.size], &o, sizeof(msgpack_object));
|
||||
++c->via.array.size;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int template_callback_map(unpack_user* u, unsigned int n, msgpack_object* o)
|
||||
{
|
||||
@@ -124,8 +128,8 @@ static inline int template_callback_map(unpack_user* u, unsigned int n, msgpack_
|
||||
|
||||
static inline int template_callback_map_item(unpack_user* u, msgpack_object* c, msgpack_object k, msgpack_object v)
|
||||
{
|
||||
c->via.map.ptr[c->via.map.size].key = k;
|
||||
c->via.map.ptr[c->via.map.size].val = v;
|
||||
memcpy(&c->via.map.ptr[c->via.map.size].key, &k, sizeof(msgpack_object));
|
||||
memcpy(&c->via.map.ptr[c->via.map.size].val, &v, sizeof(msgpack_object));
|
||||
++c->via.map.size;
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user