浏览代码

"default: lua_assert(0)" in switches helps debugging + uses
non-variant types in binary files

Roberto Ierusalimschy 13 年之前
父节点
当前提交
f88806a1fb
共有 2 个文件被更改,包括 6 次插入4 次删除
  1. 4 3
      ldump.c
  2. 2 1
      lundump.c

+ 4 - 3
ldump.c

@@ -1,5 +1,5 @@
 /*
-** $Id: ldump.c,v 1.19 2011/11/23 17:48:18 lhf Exp $
+** $Id: ldump.c,v 2.16 2011/11/24 13:25:41 roberto Exp roberto $
 ** save precompiled Lua chunks
 ** See Copyright Notice in lua.h
 */
@@ -84,8 +84,8 @@ static void DumpConstants(const Proto* f, DumpState* D)
  for (i=0; i<n; i++)
  {
   const TValue* o=&f->k[i];
-  DumpChar(ttype(o),D);
-  switch (ttype(o))
+  DumpChar(ttypenv(o),D);
+  switch (ttypenv(o))
   {
    case LUA_TNIL:
 	break;
@@ -98,6 +98,7 @@ static void DumpConstants(const Proto* f, DumpState* D)
    case LUA_TSTRING:
 	DumpString(rawtsvalue(o),D);
 	break;
+    default: lua_assert(0);
   }
  }
  n=f->sizep;

+ 2 - 1
lundump.c

@@ -1,5 +1,5 @@
 /*
-** $Id: lundump.c,v 1.71 2011/12/07 10:39:12 lhf Exp lhf $
+** $Id: lundump.c,v 2.19 2011/12/07 18:03:47 roberto Exp roberto $
 ** load precompiled Lua chunks
 ** See Copyright Notice in lua.h
 */
@@ -118,6 +118,7 @@ static void LoadConstants(LoadState* S, Proto* f)
    case LUA_TSTRING:
 	setsvalue2n(S->L,o,LoadString(S));
 	break;
+    default: lua_assert(0);
   }
  }
  n=LoadInt(S);