From: Josef 'Jeff' Sipek Date: Tue, 12 Jan 2021 17:02:05 +0000 (-0500) Subject: lib-storage: Make dlua_push_mailbox() take lua_State * directly X-Git-Tag: 2.3.14.rc1~75 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f15ca44e5461790085ef4665de254b3b617e57fc;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Make dlua_push_mailbox() take lua_State * directly --- diff --git a/src/lib-storage/mail-lua.c b/src/lib-storage/mail-lua.c index 29b203607f..be8d16a1b4 100644 --- a/src/lib-storage/mail-lua.c +++ b/src/lib-storage/mail-lua.c @@ -38,7 +38,7 @@ void dlua_push_mail(struct dlua_script *script, struct mail *mail) LUA_TABLE_SETNUMBER(uid); LUA_TABLE_SETBOOL(expunged); - dlua_push_mailbox(script, mail->box); + dlua_push_mailbox(script->L, mail->box); lua_setfield(script->L, -2, "mailbox"); } diff --git a/src/lib-storage/mail-storage-lua.h b/src/lib-storage/mail-storage-lua.h index 7b715ac09c..13d4469e9a 100644 --- a/src/lib-storage/mail-storage-lua.h +++ b/src/lib-storage/mail-storage-lua.h @@ -1,6 +1,9 @@ #ifndef MAIL_STORAGE_LUA_H #define MAIL_STORAGE_LUA_H 1 +#include "dlua-script.h" +#include "dlua-script-private.h" + struct mail_user; struct mailbox; struct mail; @@ -8,7 +11,7 @@ struct dlua_script; void dlua_register_mail_storage(struct dlua_script *script); void dlua_push_mail_user(struct dlua_script *script, struct mail_user *user); -void dlua_push_mailbox(struct dlua_script *script, struct mailbox *box); +void dlua_push_mailbox(lua_State *L, struct mailbox *box); void dlua_push_mail(struct dlua_script *script, struct mail *mail); #endif diff --git a/src/lib-storage/mail-user-lua.c b/src/lib-storage/mail-user-lua.c index 6939ef8b81..6619cff08d 100644 --- a/src/lib-storage/mail-user-lua.c +++ b/src/lib-storage/mail-user-lua.c @@ -158,7 +158,6 @@ static int lua_storage_mail_user_plugin_getenv(lua_State *L) static int lua_storage_mail_user_mailbox_alloc(lua_State *L) { - struct dlua_script *script = dlua_script_from_state(L); DLUA_REQUIRE_ARGS_IN(L, 2, 3); struct mail_user *user = lua_check_storage_mail_user(L, 1); const char *mboxname = luaL_checkstring(L, 2); @@ -171,7 +170,7 @@ static int lua_storage_mail_user_mailbox_alloc(lua_State *L) mboxname); } struct mailbox *mbox = mailbox_alloc(ns->list, mboxname, flags); - dlua_push_mailbox(script, mbox); + dlua_push_mailbox(L, mbox); return 1; } diff --git a/src/lib-storage/mailbox-lua.c b/src/lib-storage/mailbox-lua.c index 877b282241..f1e8c5e933 100644 --- a/src/lib-storage/mailbox-lua.c +++ b/src/lib-storage/mailbox-lua.c @@ -5,8 +5,6 @@ #include "istream.h" #include "array.h" #include "var-expand.h" -#include "dlua-script.h" -#include "dlua-script-private.h" #include "mail-storage.h" #include "mailbox-attribute.h" #include "mail-storage-lua.h" @@ -17,27 +15,27 @@ static int lua_storage_mailbox_gc(lua_State *L); -void dlua_push_mailbox(struct dlua_script *script, struct mailbox *box) +void dlua_push_mailbox(lua_State *L, struct mailbox *box) { - luaL_checkstack(script->L, 4, "out of memory"); + luaL_checkstack(L, 4, "out of memory"); /* create a table for holding few things */ - lua_createtable(script->L, 0, 0); - luaL_setmetatable(script->L, LUA_STORAGE_MAILBOX); + lua_createtable(L, 0, 0); + luaL_setmetatable(L, LUA_STORAGE_MAILBOX); - struct mailbox **ptr = lua_newuserdata(script->L, sizeof(struct mailbox*)); + struct mailbox **ptr = lua_newuserdata(L, sizeof(struct mailbox*)); *ptr = box; - lua_createtable(script->L, 0, 1); - lua_pushcfunction(script->L, lua_storage_mailbox_gc); - lua_setfield(script->L, -2, "__gc"); - lua_setmetatable(script->L, -2); - lua_setfield(script->L, -2, "item"); - - luaL_checkstack(script->L, 2, "out of memory"); - lua_pushstring(script->L, mailbox_get_vname(box)); - lua_setfield(script->L, -2, "vname"); - - lua_pushstring(script->L, mailbox_get_name(box)); - lua_setfield(script->L, -2, "name"); + lua_createtable(L, 0, 1); + lua_pushcfunction(L, lua_storage_mailbox_gc); + lua_setfield(L, -2, "__gc"); + lua_setmetatable(L, -2); + lua_setfield(L, -2, "item"); + + luaL_checkstack(L, 2, "out of memory"); + lua_pushstring(L, mailbox_get_vname(box)); + lua_setfield(L, -2, "vname"); + + lua_pushstring(L, mailbox_get_name(box)); + lua_setfield(L, -2, "name"); } static struct mailbox *