From: Carl Yeksigian Date: Mon, 3 Jun 2013 17:46:51 +0000 (-0400) Subject: THRIFT-1992: Fix TCompactProtocol compiler warnings X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=3e937114643fb32f0f8dc96359f11f9df008e782;p=common%2Fthrift.git THRIFT-1992: Fix TCompactProtocol compiler warnings Client: cpp Patch: Konrad Grochowski --- 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; }