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