From: Aki Tuomi Date: Tue, 4 May 2021 09:15:55 +0000 (+0300) Subject: lib-dict: dict-lua - Use absolute stack positions for arguments X-Git-Tag: 2.3.16~170 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=315f9073f451fa499411eb61a1dac13e7106f2b1;p=thirdparty%2Fdovecot%2Fcore.git lib-dict: dict-lua - Use absolute stack positions for arguments --- diff --git a/src/lib-dict/dict-iter-lua.c b/src/lib-dict/dict-iter-lua.c index 14a505ce0e..2e8d77ae79 100644 --- a/src/lib-dict/dict-iter-lua.c +++ b/src/lib-dict/dict-iter-lua.c @@ -57,7 +57,7 @@ static int lua_dict_iterate_step(lua_State *L) DLUA_REQUIRE_ARGS(L, 2); - iter = xlua_dict_iter_getptr(L, -2, NULL); + iter = xlua_dict_iter_getptr(L, 1, NULL); lua_dict_iterate_more(iter); @@ -156,9 +156,9 @@ int lua_dict_iterate(lua_State *L) DLUA_REQUIRE_ARGS(L, 3); - dict = dlua_check_dict(L, -3); - path = luaL_checkstring(L, -2); - flags = luaL_checkinteger(L, -1); + dict = dlua_check_dict(L, 1); + path = luaL_checkstring(L, 2); + flags = luaL_checkinteger(L, 3); /* set up iteration */ pool = pool_alloconly_create("lua dict iter", 128); diff --git a/src/lib-dict/dict-lua.c b/src/lib-dict/dict-lua.c index 66baca7cc9..1955722396 100644 --- a/src/lib-dict/dict-lua.c +++ b/src/lib-dict/dict-lua.c @@ -74,8 +74,8 @@ static int lua_dict_lookup(lua_State *L) DLUA_REQUIRE_ARGS(L, 2); - dict = xlua_dict_getptr(L, -2, NULL); - key = luaL_checkstring(L, -1); + dict = xlua_dict_getptr(L, 1, NULL); + key = luaL_checkstring(L, 2); dict_lookup_async(dict, key, lua_dict_lookup_callback, L); diff --git a/src/lib-dict/dict-txn-lua.c b/src/lib-dict/dict-txn-lua.c index 1e2b222a64..854008611f 100644 --- a/src/lib-dict/dict-txn-lua.c +++ b/src/lib-dict/dict-txn-lua.c @@ -70,7 +70,7 @@ static int lua_dict_transaction_rollback(lua_State *L) DLUA_REQUIRE_ARGS(L, 1); - txn = xlua_dict_txn_getptr(L, -1, NULL); + txn = xlua_dict_txn_getptr(L, 1, NULL); sanity_check_txn(L, txn); txn->state = STATE_ABORTED; @@ -128,7 +128,7 @@ static int lua_dict_transaction_commit(lua_State *L) DLUA_REQUIRE_ARGS(L, 1); - txn = xlua_dict_txn_getptr(L, -1, NULL); + txn = xlua_dict_txn_getptr(L, 1, NULL); sanity_check_txn(L, txn); txn->state = STATE_COMMITTED; @@ -154,9 +154,9 @@ static int lua_dict_set(lua_State *L) DLUA_REQUIRE_ARGS(L, 3); - txn = xlua_dict_txn_getptr(L, -3, NULL); - key = luaL_checkstring(L, -2); - value = luaL_checkstring(L, -1); + txn = xlua_dict_txn_getptr(L, 1, NULL); + key = luaL_checkstring(L, 2); + value = luaL_checkstring(L, 3); dict_set(txn->txn, key, value); @@ -180,7 +180,7 @@ int lua_dict_transaction_begin(lua_State *L) DLUA_REQUIRE_ARGS(L, 1); - dict = dlua_check_dict(L, -1); + dict = dlua_check_dict(L, 1); pool = pool_alloconly_create("lua dict txn", 128); txn = p_new(pool, struct lua_dict_txn, 1);