Explorar o código

Do not insert nil values into tables

Roberto Ierusalimschy %!s(int64=4) %!d(string=hai) anos
pai
achega
553b37ce4f
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      ltable.c

+ 2 - 0
ltable.c

@@ -647,6 +647,8 @@ void luaH_newkey (lua_State *L, Table *t, const TValue *key, TValue *value) {
     else if (unlikely(luai_numisnan(f)))
       luaG_runerror(L, "table index is NaN");
   }
+  if (ttisnil(value))
+    return;  /* do not insert nil values */
   mp = mainpositionTV(t, key);
   if (!isempty(gval(mp)) || isdummy(t)) {  /* main position is taken? */
     Node *othern;