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 <[email protected]> --- 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 _______________________________________________ openwrt-devel mailing list [email protected] http://lists.infradead.org/mailman/listinfo/openwrt-devel
