The original code required the use of relative addresses into the lua
stack. It should accept either.
Signed-off-by: Karl Palsson <karlp@etactica.com>
lua_getfield(L, idx, "getfd");
if(lua_isnil(L, -1))
return luaL_error(L, "socket type missing 'getfd' method");
- lua_pushvalue(L, idx - 1);
+ /* if we have absolute, no need to adjust for getfield() call */
+ lua_pushvalue(L, idx > 0 ? idx: idx - 1);
lua_call(L, 1, 1);
fd = lua_tointeger(L, -1);
lua_pop(L, 1);