mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Add handling for MSGPACK_OBJECT_FLOAT{32,64}
msgpack-c previously only had MSGPACK_OBJECT_FLOAT, which was a 64-bit value. Now, 32-bit and 64-bit floats are supported as distinct types, but we'll simply continue to treat everything as 64-bit types.
This commit is contained in:
parent
af2ee9c5d1
commit
f4a3a96b68
@ -973,7 +973,13 @@ int msgpack_to_vim(const msgpack_object mobj, typval_T *const rettv)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MSGPACK_OBJECT_FLOAT: {
|
#ifdef NVIM_MSGPACK_HAS_FLOAT32
|
||||||
|
case MSGPACK_OBJECT_FLOAT32:
|
||||||
|
case MSGPACK_OBJECT_FLOAT64:
|
||||||
|
#else
|
||||||
|
case MSGPACK_OBJECT_FLOAT:
|
||||||
|
#endif
|
||||||
|
{
|
||||||
*rettv = (typval_T) {
|
*rettv = (typval_T) {
|
||||||
.v_type = VAR_FLOAT,
|
.v_type = VAR_FLOAT,
|
||||||
.v_lock = VAR_UNLOCKED,
|
.v_lock = VAR_UNLOCKED,
|
||||||
|
@ -114,7 +114,13 @@ bool msgpack_rpc_to_object(const msgpack_object *const obj, Object *const arg)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MSGPACK_OBJECT_FLOAT: {
|
#ifdef NVIM_MSGPACK_HAS_FLOAT32
|
||||||
|
case MSGPACK_OBJECT_FLOAT32:
|
||||||
|
case MSGPACK_OBJECT_FLOAT64:
|
||||||
|
#else
|
||||||
|
case MSGPACK_OBJECT_FLOAT:
|
||||||
|
#endif
|
||||||
|
{
|
||||||
STATIC_ASSERT(sizeof(Float) == sizeof(cur.mobj->via.f64),
|
STATIC_ASSERT(sizeof(Float) == sizeof(cur.mobj->via.f64),
|
||||||
"Msgpack floating-point size does not match API integer");
|
"Msgpack floating-point size does not match API integer");
|
||||||
*cur.aobj = FLOATING_OBJ(cur.mobj->via.f64);
|
*cur.aobj = FLOATING_OBJ(cur.mobj->via.f64);
|
||||||
@ -181,7 +187,12 @@ bool msgpack_rpc_to_object(const msgpack_object *const obj, Object *const arg)
|
|||||||
case MSGPACK_OBJECT_BOOLEAN:
|
case MSGPACK_OBJECT_BOOLEAN:
|
||||||
case MSGPACK_OBJECT_POSITIVE_INTEGER:
|
case MSGPACK_OBJECT_POSITIVE_INTEGER:
|
||||||
case MSGPACK_OBJECT_NEGATIVE_INTEGER:
|
case MSGPACK_OBJECT_NEGATIVE_INTEGER:
|
||||||
|
#ifdef NVIM_MSGPACK_HAS_FLOAT32
|
||||||
|
case MSGPACK_OBJECT_FLOAT32:
|
||||||
|
case MSGPACK_OBJECT_FLOAT64:
|
||||||
|
#else
|
||||||
case MSGPACK_OBJECT_FLOAT:
|
case MSGPACK_OBJECT_FLOAT:
|
||||||
|
#endif
|
||||||
case MSGPACK_OBJECT_EXT:
|
case MSGPACK_OBJECT_EXT:
|
||||||
case MSGPACK_OBJECT_MAP:
|
case MSGPACK_OBJECT_MAP:
|
||||||
case MSGPACK_OBJECT_ARRAY: {
|
case MSGPACK_OBJECT_ARRAY: {
|
||||||
|
Loading…
Reference in New Issue
Block a user