]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
mail-lua: Change mailbox#status API to varargs
authorAki Tuomi <aki.tuomi@dovecot.fi>
Tue, 16 Oct 2018 07:13:27 +0000 (10:13 +0300)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Wed, 14 Nov 2018 12:12:02 +0000 (14:12 +0200)
It's much easier to use this way

src/plugins/mail-lua/mail-storage-lua.c

index 32e9ec4e75708690423e61c85b41bf85f96f4f13..27bf396d1e2949f30dbec951a7f186fca5478923 100644 (file)
@@ -350,7 +350,13 @@ static int lua_storage_mailbox_status(lua_State *L)
        const char *const *keyword;
        struct dlua_script *script = dlua_script_from_state(L);
        struct mailbox *mbox = lua_check_storage_mailbox(script, 1);
-       enum mailbox_status_items items = luaL_checknumber(script->L, 2);
+       /* get items as list of parameters */
+       enum mailbox_status_items items = 0;
+
+       if (lua_gettop(script->L) < 2)
+               return luaL_error(script->L, "expecting at least 1 parameter");
+       for(int i = 2; i <= lua_gettop(script->L); i++)
+               items |= (unsigned int)luaL_checkinteger(script->L, i);
 
        i_zero(&status);
        if (mailbox_get_status(mbox, items, &status) < 0) {