mirror of
https://github.com/msgpack/msgpack-c.git
synced 2026-01-11 08:34:21 +01:00
cpp: fixes serialization of object::type == DOUBLE
This commit is contained in:
@@ -306,6 +306,12 @@ inline object::object(msgpack_object o)
|
||||
::memcpy(this, &o, sizeof(o));
|
||||
}
|
||||
|
||||
inline void operator<< (object& o, msgpack_object v)
|
||||
{
|
||||
// FIXME beter way?
|
||||
::memcpy(&o, &v, sizeof(v));
|
||||
}
|
||||
|
||||
inline object::operator msgpack_object()
|
||||
{
|
||||
// FIXME beter way?
|
||||
@@ -314,12 +320,6 @@ inline object::operator msgpack_object()
|
||||
return obj;
|
||||
}
|
||||
|
||||
inline void operator<< (object& o, msgpack_object v)
|
||||
{
|
||||
// FIXME beter way?
|
||||
::memcpy(&o, &v, sizeof(v));
|
||||
}
|
||||
|
||||
|
||||
// obsolete
|
||||
template <typename T>
|
||||
@@ -391,6 +391,10 @@ packer<Stream>& operator<< (packer<Stream>& o, const object& v)
|
||||
}
|
||||
return o;
|
||||
|
||||
case type::DOUBLE:
|
||||
o.pack_double(v.via.dec);
|
||||
return o;
|
||||
|
||||
case type::RAW:
|
||||
o.pack_raw(v.via.raw.size);
|
||||
o.pack_raw_body(v.via.raw.ptr, v.via.raw.size);
|
||||
|
||||
Reference in New Issue
Block a user