From 3e937114643fb32f0f8dc96359f11f9df008e782 Mon Sep 17 00:00:00 2001 From: Carl Yeksigian Date: Mon, 3 Jun 2013 13:46:51 -0400 Subject: [PATCH] THRIFT-1992: Fix TCompactProtocol compiler warnings Client: cpp Patch: Konrad Grochowski --- lib/cpp/src/thrift/protocol/TCompactProtocol.tcc | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/lib/cpp/src/thrift/protocol/TCompactProtocol.tcc b/lib/cpp/src/thrift/protocol/TCompactProtocol.tcc index 79f1b6b9..1d93cbac 100644 --- a/lib/cpp/src/thrift/protocol/TCompactProtocol.tcc +++ b/lib/cpp/src/thrift/protocol/TCompactProtocol.tcc @@ -641,12 +641,13 @@ uint32_t TCompactProtocolT::readDouble(double& dub) { BOOST_STATIC_ASSERT(sizeof(double) == sizeof(uint64_t)); BOOST_STATIC_ASSERT(std::numeric_limits::is_iec559); - uint64_t bits; - uint8_t b[8]; - trans_->readAll(b, 8); - bits = *(uint64_t*)b; - bits = letohll(bits); - dub = bitwise_cast(bits); + union { + uint64_t bits; + uint8_t b[8]; + } u; + trans_->readAll(u.b, 8); + u.bits = letohll(u.bits); + dub = bitwise_cast(u.bits); return 8; } -- 2.17.1