瀏覽代碼

Do not insert nil values into tables

Roberto Ierusalimschy 4 年之前
父節點
當前提交
553b37ce4f
共有 1 個文件被更改,包括 2 次插入0 次删除
  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;