[ https://issues.apache.org/jira/browse/THRIFT-3584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jens Geyer updated THRIFT-3584: ------------------------------- Description: To check element of self whether nil or not,avoid the value(false) of BOOL is lost. eg. {code:title=Before} if self.argBool then oprot:writeFieldBegin('argBool', TType.BOOL, 13) oprot:writeBool(self.argBool) oprot:writeFieldEnd() end {code} {code:title=After} if self.argBool ~= nil then oprot:writeFieldBegin('argBool', TType.BOOL, 13) oprot:writeBool(self.argBool) oprot:writeFieldEnd() end {code} Why: the value(false) for parameter self.argBool will be lost when condition is 'if self.argBool then' as before. was: To check element of self whether nil or not,avoid the value(false) of BOOL is lost. eg. Before: if self.argBool then oprot:writeFieldBegin('argBool', TType.BOOL, 13) oprot:writeBool(self.argBool) oprot:writeFieldEnd() end After: if self.argBool ~= nil then oprot:writeFieldBegin('argBool', TType.BOOL, 13) oprot:writeBool(self.argBool) oprot:writeFieldEnd() end Why: the value(false) for parameter self.argBool will be lost when condition is 'if self.argBool then' as before. > the value(false) for parameter self.argBool will be lost when condition is > 'if self.argBool then' . > --------------------------------------------------------------------------------------------------- > > Key: THRIFT-3584 > URL: https://issues.apache.org/jira/browse/THRIFT-3584 > Project: Thrift > Issue Type: Bug > Components: Lua - Compiler > Affects Versions: 0.9.3 > Environment: Linux Windows > Reporter: WangYaofu > Fix For: 0.9.4 > > > To check element of self whether nil or not,avoid the value(false) of BOOL is > lost. > eg. > {code:title=Before} > if self.argBool then > oprot:writeFieldBegin('argBool', TType.BOOL, 13) > oprot:writeBool(self.argBool) > oprot:writeFieldEnd() > end > {code} > {code:title=After} > if self.argBool ~= nil then > oprot:writeFieldBegin('argBool', TType.BOOL, 13) > oprot:writeBool(self.argBool) > oprot:writeFieldEnd() > end > {code} > Why: > the value(false) for parameter self.argBool will be lost when condition is > 'if self.argBool then' as before. -- This message was sent by Atlassian JIRA (v6.3.4#6332)