Eric Ding created THRIFT-1973:
---------------------------------

             Summary: TCompactProtocol in C# lib does not serialize and 
deserialize negative int32 and int64 number correctly
                 Key: THRIFT-1973
                 URL: https://issues.apache.org/jira/browse/THRIFT-1973
             Project: Thrift
          Issue Type: Bug
          Components: C# - Library
    Affects Versions: 0.9, 1.0
         Environment: Windows
            Reporter: Eric Ding
             Fix For: 1.0


longToZigzag and ZigzagToLong in TCompactProtocol does not perform 
corresponding operations to serialize and deserialize negative int32 and int64 
number correctly.  Purpose to change longToZigzag from (ulong)(((ulong)n << 1) 
^ ((ulong)n >> 63)) to (ulong)(n << 1) ^ (ulong)(n >> 63).

Will need to do same for intToZigZag.  The reason is that we want arithmetic 
shift not logic shift.  

The test case in the project shows this, the output on server and client are 
different even though client received the same number back.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to