From caf01b5bfa33617b7bb2c40292f74599f6030eba Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Mon, 29 Jan 2001 11:14:49 -0200 Subject: better implementation for list "for" --- ltable.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'ltable.c') diff --git a/ltable.c b/ltable.c index 5893f629..f8352fe5 100644 --- a/ltable.c +++ b/ltable.c @@ -1,5 +1,5 @@ /* -** $Id: ltable.c,v 1.69 2001/01/26 14:16:35 roberto Exp roberto $ +** $Id: ltable.c,v 1.70 2001/01/26 15:58:50 roberto Exp roberto $ ** Lua tables (hash) ** See Copyright Notice in lua.h */ @@ -72,6 +72,15 @@ Node *luaH_next (lua_State *L, Hash *t, const TObject *key) { } +int luaH_nexti (Hash *t, int i) { + for (i++; isize; i++) { + if (ttype(val(node(t, i))) != LUA_TNIL) /* a non-nil value? */ + return i; + } + return -1; /* no more elements */ +} + + static void setnodevector (lua_State *L, Hash *t, luint32 size) { int i; if (size > MAX_INT) -- cgit v1.2.3-55-g6feb