diff options
Diffstat (limited to 'lbaselib.c')
-rw-r--r-- | lbaselib.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lbaselib.c,v 1.111 2002/11/26 08:45:36 roberto Exp roberto $ | 2 | ** $Id: lbaselib.c,v 1.112 2002/11/26 12:53:29 roberto Exp roberto $ |
3 | ** Basic library | 3 | ** Basic library |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -213,7 +213,8 @@ static int luaB_next (lua_State *L) { | |||
213 | 213 | ||
214 | static int luaB_pairs (lua_State *L) { | 214 | static int luaB_pairs (lua_State *L) { |
215 | luaL_checktype(L, 1, LUA_TTABLE); | 215 | luaL_checktype(L, 1, LUA_TTABLE); |
216 | lua_getglobal(L, "next"); /* return generator, */ | 216 | lua_pushliteral(L, "next"); |
217 | lua_rawget(L, LUA_GLOBALSINDEX); /* return generator, */ | ||
217 | lua_pushvalue(L, 1); /* state, */ | 218 | lua_pushvalue(L, 1); /* state, */ |
218 | lua_pushnil(L); /* and initial value */ | 219 | lua_pushnil(L); /* and initial value */ |
219 | return 3; | 220 | return 3; |
@@ -224,7 +225,8 @@ static int luaB_ipairs (lua_State *L) { | |||
224 | lua_Number i = lua_tonumber(L, 2); | 225 | lua_Number i = lua_tonumber(L, 2); |
225 | luaL_checktype(L, 1, LUA_TTABLE); | 226 | luaL_checktype(L, 1, LUA_TTABLE); |
226 | if (i == 0 && lua_isnone(L, 2)) { /* `for' start? */ | 227 | if (i == 0 && lua_isnone(L, 2)) { /* `for' start? */ |
227 | lua_getglobal(L, "ipairs"); /* return generator, */ | 228 | lua_pushliteral(L, "ipairs"); |
229 | lua_rawget(L, LUA_GLOBALSINDEX); /* return generator, */ | ||
228 | lua_pushvalue(L, 1); /* state, */ | 230 | lua_pushvalue(L, 1); /* state, */ |
229 | lua_pushnumber(L, 0); /* and initial value */ | 231 | lua_pushnumber(L, 0); /* and initial value */ |
230 | return 3; | 232 | return 3; |