]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Make dlua_push_mailbox() take lua_State * directly
authorJosef 'Jeff' Sipek <jeff.sipek@open-xchange.com>
Tue, 12 Jan 2021 17:02:05 +0000 (12:02 -0500)
committerJosef 'Jeff' Sipek <jeff.sipek@open-xchange.com>
Tue, 12 Jan 2021 17:02:05 +0000 (12:02 -0500)
src/lib-storage/mail-lua.c
src/lib-storage/mail-storage-lua.h
src/lib-storage/mail-user-lua.c
src/lib-storage/mailbox-lua.c

index 29b203607f04c60dddefd4242ede3b7dc6ddc481..be8d16a1b422c21bed53a1b02af0d26278ba487b 100644 (file)
@@ -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");
 
 }
index 7b715ac09c67c332c4b06eb805f0902f958854df..13d4469e9a401e3eff84dbe317984f46eff89fdd 100644 (file)
@@ -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
index 6939ef8b81f669461f33d0bafbd1ddf35c2dd86c..6619cff08d09d2def54fcebdf2e5b23ae28e4534 100644 (file)
@@ -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;
 }
 
index 877b282241c62f5e42bd4934dbd4885c52f7cb64..f1e8c5e933065f62cfbda078e7a7ba11cf7e12a1 100644 (file)
@@ -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"
 
 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 *