diff options
author | Bryan Duxbury <bryanduxbury@apache.org> | 2011-07-13 18:11:29 +0000 |
---|---|---|
committer | Bryan Duxbury <bryanduxbury@apache.org> | 2011-07-13 18:11:29 +0000 |
commit | 54df97c507aa4fb49523166b477bd82762fd9711 (patch) | |
tree | 5cc0cf2cda8b240110a345d55679dc1c4534b91b | |
parent | b7bd5626aa1858c3b315c0df252bf67de6923feb (diff) | |
download | thrift-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.py | 9 |
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 |