#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;
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
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);
mboxname);
}
struct mailbox *mbox = mailbox_alloc(ns->list, mboxname, flags);
- dlua_push_mailbox(script, mbox);
+ dlua_push_mailbox(L, mbox);
return 1;
}
#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 *