From: Aki Tuomi Date: Tue, 16 Oct 2018 07:13:27 +0000 (+0300) Subject: mail-lua: Change mailbox#status API to varargs X-Git-Tag: 2.3.4~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=cfa7b7931e69acfdfab434fa500fc122d1be76a8;p=thirdparty%2Fdovecot%2Fcore.git mail-lua: Change mailbox#status API to varargs It's much easier to use this way --- diff --git a/src/plugins/mail-lua/mail-storage-lua.c b/src/plugins/mail-lua/mail-storage-lua.c index 32e9ec4e75..27bf396d1e 100644 --- a/src/plugins/mail-lua/mail-storage-lua.c +++ b/src/plugins/mail-lua/mail-storage-lua.c @@ -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) {