summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Duxbury <bryanduxbury@apache.org>2011-07-13 18:11:29 +0000
committerBryan Duxbury <bryanduxbury@apache.org>2011-07-13 18:11:29 +0000
commit54df97c507aa4fb49523166b477bd82762fd9711 (patch)
tree5cc0cf2cda8b240110a345d55679dc1c4534b91b
parentb7bd5626aa1858c3b315c0df252bf67de6923feb (diff)
downloadthrift-54df97c507aa4fb49523166b477bd82762fd9711.tar.gz
THRIFT-1208. py: Compact protocol always reads and writes booleans as true
Patch: liwei git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1146180 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--lib/py/src/protocol/TCompactProtocol.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/py/src/protocol/TCompactProtocol.py b/lib/py/src/protocol/TCompactProtocol.py
index 280b54f0f..6d57aeba9 100644
--- a/lib/py/src/protocol/TCompactProtocol.py
+++ b/lib/py/src/protocol/TCompactProtocol.py
@@ -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