Author: jfarrell
Date: Sat Oct 20 16:47:51 2012
New Revision: 1400487
URL: http://svn.apache.org/viewvc?rev=1400487&view=rev
Log:
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.
Modified:
thrift/trunk/lib/csharp/src/Protocol/TBinaryProtocol.cs
Modified: thrift/trunk/lib/csharp/src/Protocol/TBinaryProtocol.cs
URL:
http://svn.apache.org/viewvc/thrift/trunk/lib/csharp/src/Protocol/TBinaryProtocol.cs?rev=1400487&r1=1400486&r2=1400487&view=diff
==============================================================================
--- thrift/trunk/lib/csharp/src/Protocol/TBinaryProtocol.cs (original)
+++ thrift/trunk/lib/csharp/src/Protocol/TBinaryProtocol.cs Sat Oct 20 16:47:51
2012
@@ -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()