summaryrefslogtreecommitdiff
path: root/ltable.c
diff options
context:
space:
mode:
Diffstat (limited to 'ltable.c')
-rw-r--r--ltable.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ltable.c b/ltable.c
index dbe5e2ed..5378e31a 100644
--- a/ltable.c
+++ b/ltable.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: ltable.c,v 2.131 2018/01/28 15:13:26 roberto Exp roberto $ 2** $Id: ltable.c,v 2.132 2018/02/19 20:06:56 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*/
@@ -559,12 +559,13 @@ TValue *luaH_newkey (lua_State *L, Table *t, const TValue *key) {
559 TValue aux; 559 TValue aux;
560 if (ttisnil(key)) luaG_runerror(L, "table index is nil"); 560 if (ttisnil(key)) luaG_runerror(L, "table index is nil");
561 else if (ttisfloat(key)) { 561 else if (ttisfloat(key)) {
562 lua_Number f = fltvalue(key);
562 lua_Integer k; 563 lua_Integer k;
563 if (luaV_flttointeger(key, &k, 0)) { /* does index fit in an integer? */ 564 if (luaV_flttointeger(f, &k, 0)) { /* does key fit in an integer? */
564 setivalue(&aux, k); 565 setivalue(&aux, k);
565 key = &aux; /* insert it as an integer */ 566 key = &aux; /* insert it as an integer */
566 } 567 }
567 else if (luai_numisnan(fltvalue(key))) 568 else if (luai_numisnan(f))
568 luaG_runerror(L, "table index is NaN"); 569 luaG_runerror(L, "table index is NaN");
569 } 570 }
570 mp = mainpositionTV(t, key); 571 mp = mainpositionTV(t, key);
@@ -669,7 +670,7 @@ const TValue *luaH_get (Table *t, const TValue *key) {
669 case LUA_TNIL: return luaO_nilobject; 670 case LUA_TNIL: return luaO_nilobject;
670 case LUA_TNUMFLT: { 671 case LUA_TNUMFLT: {
671 lua_Integer k; 672 lua_Integer k;
672 if (luaV_flttointeger(key, &k, 0)) /* index is an integral? */ 673 if (luaV_flttointeger(fltvalue(key), &k, 0)) /* index is an integral? */
673 return luaH_getint(t, k); /* use specialized version */ 674 return luaH_getint(t, k); /* use specialized version */
674 /* else... */ 675 /* else... */
675 } /* FALLTHROUGH */ 676 } /* FALLTHROUGH */