From 5616437a4d1d59a1903754b71e56aa5bdd1dc6bc Mon Sep 17 00:00:00 2001 From: Dan Rose Date: Fri, 17 Apr 2020 16:54:06 -0500 Subject: [PATCH] Fix serialization on non-32-bit, big-endian systems (#159) --- rmw_cyclonedds_cpp/src/Serialization.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rmw_cyclonedds_cpp/src/Serialization.cpp b/rmw_cyclonedds_cpp/src/Serialization.cpp index 2db412d..8263c58 100644 --- a/rmw_cyclonedds_cpp/src/Serialization.cpp +++ b/rmw_cyclonedds_cpp/src/Serialization.cpp @@ -299,8 +299,9 @@ protected: void serialize_u32(CDRCursor * cursor, size_t value) const { assert(value <= std::numeric_limits::max()); + auto u32_value = static_cast(value); cursor->align(4); - cursor->put_bytes(&value, 4); + cursor->put_bytes(&u32_value, 4); } static size_t get_cdr_size_of_primitive(ROSIDL_TypeKind tk)