mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-common
synced 2025-12-30 17:48:56 +00:00
fix integer marshalling helpers on big endian
They were trying to convert the destination pointer to an integer before trying to dereference it. The initial conversion was meant to be a cast to a pointer of the right size, not to an integer.
This commit is contained in:
parent
303ac1c9de
commit
ec5f0c2e99
@ -28,12 +28,12 @@
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
#define write_int8(ptr,v) (*((int8_t *)(ptr)) = v)
|
||||
#define write_uint8(ptr,v) (*((uint8_t *)(ptr)) = v)
|
||||
#define write_int16(ptr,v) (*((int16_t)(ptr)) = SPICE_BYTESWAP16((uint16_t)(v)))
|
||||
#define write_uint16(ptr,v) (*((uint16_t)(ptr)) = SPICE_BYTESWAP16((uint16_t)(v)))
|
||||
#define write_int32(ptr,v) (*((int32_t)(ptr)) = SPICE_BYTESWAP32((uint32_t)(v)))
|
||||
#define write_uint32(ptr,v) (*((uint32_t)(ptr)) = SPICE_BYTESWAP32((uint32_t)(v)))
|
||||
#define write_int64(ptr,v) (*((int64_t)(ptr)) = SPICE_BYTESWAP64((uint64_t)(v)))
|
||||
#define write_uint64(ptr,v) (*((uint64_t)(ptr)) = SPICE_BYTESWAP64((uint64_t)(v)))
|
||||
#define write_int16(ptr,v) (*((int16_t *)(ptr)) = SPICE_BYTESWAP16((uint16_t)(v)))
|
||||
#define write_uint16(ptr,v) (*((uint16_t *)(ptr)) = SPICE_BYTESWAP16((uint16_t)(v)))
|
||||
#define write_int32(ptr,v) (*((int32_t *)(ptr)) = SPICE_BYTESWAP32((uint32_t)(v)))
|
||||
#define write_uint32(ptr,v) (*((uint32_t *)(ptr)) = SPICE_BYTESWAP32((uint32_t)(v)))
|
||||
#define write_int64(ptr,v) (*((int64_t *)(ptr)) = SPICE_BYTESWAP64((uint64_t)(v)))
|
||||
#define write_uint64(ptr,v) (*((uint64_t *)(ptr)) = SPICE_BYTESWAP64((uint64_t)(v)))
|
||||
#else
|
||||
#define write_int8(ptr,v) (*((int8_t *)(ptr)) = v)
|
||||
#define write_uint8(ptr,v) (*((uint8_t *)(ptr)) = v)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user