diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2004-05-10 14:50:51 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2004-05-10 14:50:51 -0300 |
commit | 7e41612eb28ff0fba282bd419781fcbc9bd94776 (patch) | |
tree | e63123d15589435c08c844b0d471b142c924818b /lauxlib.c | |
parent | b0f341ee52ee7d3d22261a68caf06eab5b0c8822 (diff) | |
download | lua-7e41612eb28ff0fba282bd419781fcbc9bd94776.tar.gz lua-7e41612eb28ff0fba282bd419781fcbc9bd94776.tar.bz2 lua-7e41612eb28ff0fba282bd419781fcbc9bd94776.zip |
code parameterized by LUA_FIRSTINDEX (first index of an array)
Diffstat (limited to 'lauxlib.c')
-rw-r--r-- | lauxlib.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lauxlib.c,v 1.110 2004/03/23 16:38:43 roberto Exp roberto $ | 2 | ** $Id: lauxlib.c,v 1.111 2004/04/30 20:13:38 roberto Exp roberto $ |
3 | ** Auxiliary functions for building Lua libraries | 3 | ** Auxiliary functions for building Lua libraries |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -308,13 +308,13 @@ LUALIB_API int luaL_getn (lua_State *L, int t) { | |||
308 | if ((n = checkint(L, 2)) >= 0) return n; | 308 | if ((n = checkint(L, 2)) >= 0) return n; |
309 | lua_getfield(L, t, "n"); /* else try t.n */ | 309 | lua_getfield(L, t, "n"); /* else try t.n */ |
310 | if ((n = checkint(L, 1)) >= 0) return n; | 310 | if ((n = checkint(L, 1)) >= 0) return n; |
311 | for (n = 1; ; n++) { /* else must count elements */ | 311 | for (n = LUA_FIRSTINDEX; ; n++) { /* else must count elements */ |
312 | lua_rawgeti(L, t, n); | 312 | lua_rawgeti(L, t, n); |
313 | if (lua_isnil(L, -1)) break; | 313 | if (lua_isnil(L, -1)) break; |
314 | lua_pop(L, 1); | 314 | lua_pop(L, 1); |
315 | } | 315 | } |
316 | lua_pop(L, 1); | 316 | lua_pop(L, 1); |
317 | return n - 1; | 317 | return n - LUA_FIRSTINDEX; |
318 | } | 318 | } |
319 | 319 | ||
320 | /* }====================================================== */ | 320 | /* }====================================================== */ |