From: Josef 'Jeff' Sipek Date: Thu, 17 Dec 2020 17:53:44 +0000 (-0500) Subject: lib-lua: Make dlua_setmembers() take lua_State * directly X-Git-Tag: 2.3.14.rc1~131 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c753146df2be3720af0db5d2c49f55f7db5b69fc;p=thirdparty%2Fdovecot%2Fcore.git lib-lua: Make dlua_setmembers() take lua_State * directly --- diff --git a/src/auth/db-lua.c b/src/auth/db-lua.c index afc3cc21e1..cdde89a112 100644 --- a/src/auth/db-lua.c +++ b/src/auth/db-lua.c @@ -387,7 +387,7 @@ static void auth_lua_dovecot_auth_register(struct dlua_script *script) lua_newtable(script->L); /* register constants */ - dlua_setmembers(script, auth_lua_dovecot_auth_values, -1); + dlua_setmembers(script->L, auth_lua_dovecot_auth_values, -1); /* push new metatable to stack */ luaL_newmetatable(script->L, AUTH_LUA_DOVECOT_AUTH); diff --git a/src/lib-lua/dlua-script-private.h b/src/lib-lua/dlua-script-private.h index bcf24c4211..3ec24369d3 100644 --- a/src/lib-lua/dlua-script-private.h +++ b/src/lib-lua/dlua-script-private.h @@ -96,8 +96,7 @@ void dlua_dovecot_register(struct dlua_script *script); void dlua_getdovecot(struct dlua_script *script); /* assign values to table on idx */ -void dlua_setmembers(struct dlua_script *script, - const struct dlua_table_values *values, int idx); +void dlua_setmembers(lua_State *L, const struct dlua_table_values *values, int idx); #endif diff --git a/src/lib-lua/dlua-script.c b/src/lib-lua/dlua-script.c index 42faec6a19..d4bf6f1b5b 100644 --- a/src/lib-lua/dlua-script.c +++ b/src/lib-lua/dlua-script.c @@ -342,32 +342,32 @@ bool dlua_script_has_function(struct dlua_script *script, const char *fn) return ret; } -void dlua_setmembers(struct dlua_script *script, - const struct dlua_table_values *values, int idx) +void dlua_setmembers(lua_State *L, const struct dlua_table_values *values, + int idx) { - i_assert(script != NULL); - i_assert(lua_istable(script->L, idx)); + i_assert(L != NULL); + i_assert(lua_istable(L, idx)); while(values->name != NULL) { switch(values->type) { case DLUA_TABLE_VALUE_STRING: - lua_pushstring(script->L, values->v.s); + lua_pushstring(L, values->v.s); break; case DLUA_TABLE_VALUE_INTEGER: - lua_pushnumber(script->L, values->v.i); + lua_pushnumber(L, values->v.i); break; case DLUA_TABLE_VALUE_DOUBLE: - lua_pushnumber(script->L, values->v.d); + lua_pushnumber(L, values->v.d); break; case DLUA_TABLE_VALUE_BOOLEAN: - lua_pushboolean(script->L, values->v.b); + lua_pushboolean(L, values->v.b); break; case DLUA_TABLE_VALUE_NULL: - lua_pushnil(script->L); + lua_pushnil(L); break; default: i_unreached(); } - lua_setfield(script->L, idx-1, values->name); + lua_setfield(L, idx - 1, values->name); values++; } } diff --git a/src/lib-storage/mail-storage-lua.c b/src/lib-storage/mail-storage-lua.c index 615c1c693f..538030ae09 100644 --- a/src/lib-storage/mail-storage-lua.c +++ b/src/lib-storage/mail-storage-lua.c @@ -67,7 +67,7 @@ void dlua_register_mail_storage(struct dlua_script *script) /* Create table for holding values */ lua_newtable(script->L); - dlua_setmembers(script, lua_storage_mail_storage_flags, -1); + dlua_setmembers(script->L, lua_storage_mail_storage_flags, -1); /* push new metatable to stack */ luaL_newmetatable(script->L, LUA_SCRIPT_STORAGE);