From 9184e0eadfc58bad49201a5157deec55f41523ef Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Wed, 14 Mar 2018 18:49:50 +0200 Subject: [PATCH] lib-lua: Add lua_pushboolean helper to push real booleans Makes boolean handling in dovecot code slightly easier --- src/auth/db-lua.c | 2 +- src/lib-lua/dlua-script-private.h | 1 + src/lib-lua/dlua-script.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/auth/db-lua.c b/src/auth/db-lua.c index 0a5ad64000..7776bca64b 100644 --- a/src/auth/db-lua.c +++ b/src/auth/db-lua.c @@ -317,7 +317,7 @@ static void auth_lua_push_auth_request(struct dlua_script *script, struct auth_r #undef LUA_TABLE_SETBOOL #define LUA_TABLE_SETBOOL(field) \ - lua_pushboolean(script->L, req->field ? 1 : 0); \ + lua_pushboolean(script->L, req->field); \ lua_setfield(script->L, -2, #field); LUA_TABLE_SETBOOL(skip_password_check); diff --git a/src/lib-lua/dlua-script-private.h b/src/lib-lua/dlua-script-private.h index 4914c91923..ddd7ac8a4a 100644 --- a/src/lib-lua/dlua-script-private.h +++ b/src/lib-lua/dlua-script-private.h @@ -25,6 +25,7 @@ void luaL_setmetatable (lua_State *L, const char *tname); #define lua_isstring(L, n) (lua_isstring(L, n) == 1) #define lua_isnumber(L, n) (lua_isnumber(L, n) == 1) #define lua_toboolean(L, n) (lua_toboolean(L, n) == 1) +#define lua_pushboolean(L, b) lua_pushboolean((L), (b) ? 1 : 0) #define DLUA_TABLE_STRING(n, s) { .name = n, .type = DLUA_TABLE_VALUE_STRING, .v.s = s } #define DLUA_TABLE_INTEGER(n, i) { .name = n, .type = DLUA_TABLE_VALUE_INTEGER, .v.i = i } diff --git a/src/lib-lua/dlua-script.c b/src/lib-lua/dlua-script.c index 9e93450b6f..2a9b5c3e11 100644 --- a/src/lib-lua/dlua-script.c +++ b/src/lib-lua/dlua-script.c @@ -333,7 +333,7 @@ void dlua_setmembers(struct dlua_script *script, lua_pushnumber(script->L, values->v.d); break; case DLUA_TABLE_VALUE_BOOLEAN: - lua_pushboolean(script->L, values->v.b ? 1 : 0); + lua_pushboolean(script->L, values->v.b); break; case DLUA_TABLE_VALUE_NULL: lua_pushnil(script->L); -- 2.47.3