[PATCH libubox 3/4] lua/uloop: fd_add: use absolute indices for arguments

Karl Palsson karlp at etactica.com
Fri Jun 26 06:14:57 EDT 2020


Instead of having to adjust the index repeatedly as the stack is
manipulated, use absolute addressing for the function arguments, so they
stay the same throughout the call.  Zero functional change, just
subjectively easier to follow variables.

Signed-off-by: Karl Palsson <karlp at etactica.com>
---
 lua/uloop.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/lua/uloop.c b/lua/uloop.c
index 394970d..ee82104 100644
--- a/lua/uloop.c
+++ b/lua/uloop.c
@@ -233,24 +233,23 @@ static int ul_ufd_add(lua_State *L)
 	int ref;
 	int fd_ref;
 
-	flags = luaL_checkinteger(L, -1);
+	flags = luaL_checkinteger(L, 3);
 	if (!flags) {
 		lua_pushstring(L, "flags cannot be zero");
 		lua_error(L);
 	}
-	lua_pop(L, 1);
 
-	luaL_checktype(L, -1, LUA_TFUNCTION);
+	luaL_checktype(L, 2, LUA_TFUNCTION);
 
-	fd = get_sock_fd(L, -2);
+	fd = get_sock_fd(L, 1);
 
 	lua_getglobal(L, "__uloop_cb");
-	lua_pushvalue(L, -2);
+	lua_pushvalue(L, 2);
 	ref = luaL_ref(L, -2);
 	lua_pop(L, 1);
 
 	lua_getglobal(L, "__uloop_fds");
-	lua_pushvalue(L, -3);
+	lua_pushvalue(L, 1);
 	fd_ref = luaL_ref(L, -2);
 	lua_pop(L, 1);
 
-- 
2.21.3




More information about the openwrt-devel mailing list