aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ltable.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/ltable.c b/ltable.c
index eaf4ea7d..ab69c343 100644
--- a/ltable.c
+++ b/ltable.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ltable.c,v 2.18 2005/03/09 16:28:07 roberto Exp roberto $ 2** $Id: ltable.c,v 2.19 2005/03/16 16:58:41 roberto Exp roberto $
3** Lua tables (hash) 3** Lua tables (hash)
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -557,9 +557,8 @@ int luaH_getn (Table *t) {
557 unsigned int j = t->sizearray; 557 unsigned int j = t->sizearray;
558 if (j > 0 && ttisnil(&t->array[j - 1])) { 558 if (j > 0 && ttisnil(&t->array[j - 1])) {
559 /* there is a boundary in the array part: (binary) search for it */ 559 /* there is a boundary in the array part: (binary) search for it */
560 unsigned int i = 1; 560 unsigned int i = 0;
561 if (ttisnil(&t->array[1 - 1])) return 0; 561 while (j - i > 1) {
562 while (i < j - 1) {
563 unsigned int m = (i+j)/2; 562 unsigned int m = (i+j)/2;
564 if (ttisnil(&t->array[m - 1])) j = m; 563 if (ttisnil(&t->array[m - 1])) j = m;
565 else i = m; 564 else i = m;