From 98f93778e1ea5b8b3dbed7bb946cddf6208fbe42 Mon Sep 17 00:00:00 2001 From: Jake Farrell Date: Sat, 20 Oct 2012 16:47:51 +0000 Subject: [PATCH] Thrift-1709:Warning "Bitwise-or operator used on a sign-extended operand;..." Client: csharp Patch: Jake Farrell Reverts initial patch submitted with ticket and changes to using unchecked {} due to reported memory issues with the previous patch. git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1400487 13f79535-47bb-0310-9956-ffa450edef68 --- lib/csharp/src/Protocol/TBinaryProtocol.cs | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/csharp/src/Protocol/TBinaryProtocol.cs b/lib/csharp/src/Protocol/TBinaryProtocol.cs index 53daa1d9..682078b4 100644 --- a/lib/csharp/src/Protocol/TBinaryProtocol.cs +++ b/lib/csharp/src/Protocol/TBinaryProtocol.cs @@ -347,15 +347,17 @@ namespace Thrift.Protocol public override long ReadI64() { ReadAll(i64in, 0, 8); - return (long)( - (ulong)((ulong)(i64in[0] & 0xff) << 56) | - (ulong)((ulong)(i64in[1] & 0xff) << 48) | - (ulong)((ulong)(i64in[2] & 0xff) << 40) | - (ulong)((ulong)(i64in[3] & 0xff) << 32) | - (ulong)((ulong)(i64in[4] & 0xff) << 24) | - (ulong)((ulong)(i64in[5] & 0xff) << 16) | - (ulong)((ulong)(i64in[6] & 0xff) << 8) | - (ulong)((ulong)(i64in[7] & 0xff))); + unchecked { + return (long)( + ((long)(i64in[0] & 0xff) << 56) | + ((long)(i64in[1] & 0xff) << 48) | + ((long)(i64in[2] & 0xff) << 40) | + ((long)(i64in[3] & 0xff) << 32) | + ((long)(i64in[4] & 0xff) << 24) | + ((long)(i64in[5] & 0xff) << 16) | + ((long)(i64in[6] & 0xff) << 8) | + ((long)(i64in[7] & 0xff))); + } } public override double ReadDouble() -- 2.17.1