You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@thrift.apache.org by br...@apache.org on 2011/07/13 20:11:30 UTC

svn commit: r1146180 - /thrift/trunk/lib/py/src/protocol/TCompactProtocol.py

Author: bryanduxbury
Date: Wed Jul 13 18:11:29 2011
New Revision: 1146180

URL: http://svn.apache.org/viewvc?rev=1146180&view=rev
Log:
THRIFT-1208. py: Compact protocol always reads and writes booleans as true

Patch: liwei

Modified:
    thrift/trunk/lib/py/src/protocol/TCompactProtocol.py

Modified: thrift/trunk/lib/py/src/protocol/TCompactProtocol.py
URL: http://svn.apache.org/viewvc/thrift/trunk/lib/py/src/protocol/TCompactProtocol.py?rev=1146180&r1=1146179&r2=1146180&view=diff
==============================================================================
--- thrift/trunk/lib/py/src/protocol/TCompactProtocol.py (original)
+++ thrift/trunk/lib/py/src/protocol/TCompactProtocol.py Wed Jul 13 18:11:29 2011
@@ -204,7 +204,10 @@ class TCompactProtocol(TProtocolBase):
             ctype = CompactType.FALSE
         self.__writeFieldHeader(ctype, self.__bool_fid)
     elif self.state == CONTAINER_WRITE:
-      self.__writeByte(int(bool))
+       if bool:
+           self.__writeByte(CompactType.TRUE)
+       else:
+           self.__writeByte(CompactType.FALSE)
     else:
       raise AssertionError, "Invalid state in compact protocol"
 
@@ -338,9 +341,9 @@ class TCompactProtocol(TProtocolBase):
 
   def readBool(self):
     if self.state == BOOL_READ:
-      return self.__bool_value
+      return self.__bool_value == CompactType.TRUE
     elif self.state == CONTAINER_READ:
-      return bool(self.__readByte())
+      return self.__readByte() == CompactType.TRUE
     else:
       raise AssertionError, "Invalid state in compact protocol: %d" % self.state