THRIFT-3584 boolean false value cannot be transferred
Return value fix and test.
diff --git a/compiler/cpp/src/generate/t_lua_generator.cc b/compiler/cpp/src/generate/t_lua_generator.cc
index 1e80fd1..5a674e4 100644
--- a/compiler/cpp/src/generate/t_lua_generator.cc
+++ b/compiler/cpp/src/generate/t_lua_generator.cc
@@ -609,7 +609,7 @@
// Return the result if it's not a void function
if (!(*f_iter)->get_returntype()->is_void()) {
- out << indent() << "if result.success then" << endl << indent() << " return result.success"
+ out << indent() << "if result.success ~= nil then" << endl << indent() << " return result.success"
<< endl;
// Throw custom exceptions
diff --git a/test/lua/test_basic_client.lua b/test/lua/test_basic_client.lua
index 34bd9b1..8d00cce 100644
--- a/test/lua/test_basic_client.lua
+++ b/test/lua/test_basic_client.lua
@@ -94,7 +94,7 @@
-- Bool
assertEqual(client:testBool(true), true, 'Failed testBool true')
- -- assertEqual(client:testBool(false), false, 'Failed testBool false')
+ assertEqual(client:testBool(false), false, 'Failed testBool false')
-- Byte
assertEqual(client:testByte(0x01), 1, 'Failed testByte 1')