diff options
Diffstat (limited to '')
| -rw-r--r-- | ltable.c | 10 |
1 files changed, 3 insertions, 7 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: ltable.c,v 1.12 1998/01/28 16:50:33 roberto Exp roberto $ | 2 | ** $Id: ltable.c,v 1.13 1998/07/12 16:15:19 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 | */ |
| @@ -121,8 +121,7 @@ Hash *luaH_new (int nhash) | |||
| 121 | } | 121 | } |
| 122 | 122 | ||
| 123 | 123 | ||
| 124 | static int newsize (Hash *t) | 124 | static int newsize (Hash *t) { |
| 125 | { | ||
| 126 | Node *v = t->node; | 125 | Node *v = t->node; |
| 127 | int size = nhash(t); | 126 | int size = nhash(t); |
| 128 | int realuse = 0; | 127 | int realuse = 0; |
| @@ -131,10 +130,7 @@ static int newsize (Hash *t) | |||
| 131 | if (ttype(ref(v+i)) != LUA_T_NIL && ttype(val(v+i)) != LUA_T_NIL) | 130 | if (ttype(ref(v+i)) != LUA_T_NIL && ttype(val(v+i)) != LUA_T_NIL) |
| 132 | realuse++; | 131 | realuse++; |
| 133 | } | 132 | } |
| 134 | if (2*(realuse+1) <= size) /* +1 is the new element */ | 133 | return luaO_redimension((realuse+1)*2); /* +1 is the new element */ |
| 135 | return size; /* don't need to grow, just rehash */ | ||
| 136 | else | ||
| 137 | return luaO_redimension(size); | ||
| 138 | } | 134 | } |
| 139 | 135 | ||
| 140 | static void rehash (Hash *t) | 136 | static void rehash (Hash *t) |
