aboutsummaryrefslogtreecommitdiff
path: root/ltable.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2009-08-07 14:53:28 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2009-08-07 14:53:28 -0300
commit42167804b89b26428dea98b97549892c24623d71 (patch)
treefafa5852df83f40ac098923973f644ad7fd73ab9 /ltable.c
parent3135a6bbaba406fd9f1e97e0b9c8415e1ad32579 (diff)
downloadlua-42167804b89b26428dea98b97549892c24623d71.tar.gz
lua-42167804b89b26428dea98b97549892c24623d71.tar.bz2
lua-42167804b89b26428dea98b97549892c24623d71.zip
luaH_[gs]etnum renamed to luaH_[gs]etint (as they only accept integers,
not generic numbers).
Diffstat (limited to 'ltable.c')
-rw-r--r--ltable.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/ltable.c b/ltable.c
index 4af7143e..1c2b2b6f 100644
--- a/ltable.c
+++ b/ltable.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ltable.c,v 2.39 2009/03/30 18:38:24 roberto Exp roberto $ 2** $Id: ltable.c,v 2.40 2009/04/17 14:40:13 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*/
@@ -308,7 +308,7 @@ void luaH_resize (lua_State *L, Table *t, int nasize, int nhsize) {
308 /* re-insert elements from vanishing slice */ 308 /* re-insert elements from vanishing slice */
309 for (i=nasize; i<oldasize; i++) { 309 for (i=nasize; i<oldasize; i++) {
310 if (!ttisnil(&t->array[i])) 310 if (!ttisnil(&t->array[i]))
311 setobjt2t(L, luaH_setnum(L, t, i+1), &t->array[i]); 311 setobjt2t(L, luaH_setint(L, t, i+1), &t->array[i]);
312 } 312 }
313 /* shrink array */ 313 /* shrink array */
314 luaM_reallocvector(L, t->array, oldasize, nasize, TValue); 314 luaM_reallocvector(L, t->array, oldasize, nasize, TValue);
@@ -429,7 +429,7 @@ static TValue *newkey (lua_State *L, Table *t, const TValue *key) {
429/* 429/*
430** search function for integers 430** search function for integers
431*/ 431*/
432const TValue *luaH_getnum (Table *t, int key) { 432const TValue *luaH_getint (Table *t, int key) {
433 /* (1 <= key && key <= t->sizearray) */ 433 /* (1 <= key && key <= t->sizearray) */
434 if (cast(unsigned int, key-1) < cast(unsigned int, t->sizearray)) 434 if (cast(unsigned int, key-1) < cast(unsigned int, t->sizearray))
435 return &t->array[key-1]; 435 return &t->array[key-1];
@@ -472,7 +472,7 @@ const TValue *luaH_get (Table *t, const TValue *key) {
472 lua_Number n = nvalue(key); 472 lua_Number n = nvalue(key);
473 lua_number2int(k, n); 473 lua_number2int(k, n);
474 if (luai_numeq(cast_num(k), nvalue(key))) /* index is int? */ 474 if (luai_numeq(cast_num(k), nvalue(key))) /* index is int? */
475 return luaH_getnum(t, k); /* use specialized version */ 475 return luaH_getint(t, k); /* use specialized version */
476 /* else go through */ 476 /* else go through */
477 } 477 }
478 default: { 478 default: {
@@ -502,8 +502,8 @@ TValue *luaH_set (lua_State *L, Table *t, const TValue *key) {
502} 502}
503 503
504 504
505TValue *luaH_setnum (lua_State *L, Table *t, int key) { 505TValue *luaH_setint (lua_State *L, Table *t, int key) {
506 const TValue *p = luaH_getnum(t, key); 506 const TValue *p = luaH_getint(t, key);
507 if (p != luaO_nilobject) 507 if (p != luaO_nilobject)
508 return cast(TValue *, p); 508 return cast(TValue *, p);
509 else { 509 else {
@@ -530,20 +530,20 @@ static int unbound_search (Table *t, unsigned int j) {
530 unsigned int i = j; /* i is zero or a present index */ 530 unsigned int i = j; /* i is zero or a present index */
531 j++; 531 j++;
532 /* find `i' and `j' such that i is present and j is not */ 532 /* find `i' and `j' such that i is present and j is not */
533 while (!ttisnil(luaH_getnum(t, j))) { 533 while (!ttisnil(luaH_getint(t, j))) {
534 i = j; 534 i = j;
535 j *= 2; 535 j *= 2;
536 if (j > cast(unsigned int, MAX_INT)) { /* overflow? */ 536 if (j > cast(unsigned int, MAX_INT)) { /* overflow? */
537 /* table was built with bad purposes: resort to linear search */ 537 /* table was built with bad purposes: resort to linear search */
538 i = 1; 538 i = 1;
539 while (!ttisnil(luaH_getnum(t, i))) i++; 539 while (!ttisnil(luaH_getint(t, i))) i++;
540 return i - 1; 540 return i - 1;
541 } 541 }
542 } 542 }
543 /* now do a binary search between them */ 543 /* now do a binary search between them */
544 while (j - i > 1) { 544 while (j - i > 1) {
545 unsigned int m = (i+j)/2; 545 unsigned int m = (i+j)/2;
546 if (ttisnil(luaH_getnum(t, m))) j = m; 546 if (ttisnil(luaH_getint(t, m))) j = m;
547 else i = m; 547 else i = m;
548 } 548 }
549 return i; 549 return i;