diff options
author | Lua Team <team@lua.org> | 2004-12-07 12:00:00 +0000 |
---|---|---|
committer | repogen <> | 2004-12-07 12:00:00 +0000 |
commit | 226f7859b5392b6680b7e703f9cc7f7f101fd365 (patch) | |
tree | 4345e84719d7f9ccf8d62fa007cbd386f235c58a /src/lundump.c | |
parent | d8fd22e11b391cf183068049bebbee9702c8f78f (diff) | |
download | lua-github-226f7859b5392b6680b7e703f9cc7f7f101fd365.tar.gz |
Lua 5.1-work35.1-work3
Diffstat (limited to 'src/lundump.c')
-rw-r--r-- | src/lundump.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/lundump.c b/src/lundump.c index ee091602..e13a4e48 100644 --- a/src/lundump.c +++ b/src/lundump.c @@ -1,5 +1,5 @@ /* -** $Id: lundump.c,v 1.53 2004/09/01 21:22:34 lhf Exp $ +** $Id: lundump.c,v 1.54 2004/11/25 09:31:41 lhf Exp $ ** load pre-compiled Lua chunks ** See Copyright Notice in lua.h */ @@ -177,15 +177,18 @@ static void LoadConstants (LoadState* S, Proto* f) int t=LoadByte(S); switch (t) { + case LUA_TNIL: + setnilvalue(o); + break; + case LUA_TBOOLEAN: + setbvalue(o,LoadByte(S)); + break; case LUA_TNUMBER: setnvalue(o,LoadNumber(S)); break; case LUA_TSTRING: setsvalue2n(S->L,o,LoadString(S)); break; - case LUA_TNIL: - setnilvalue(o); - break; default: error(S,"bad constant type (%d)",t); break; @@ -243,19 +246,15 @@ static void LoadHeader (LoadState* S) lua_Number x,tx=TEST_NUMBER; LoadSignature(S); version=LoadByte(S); - if (version>VERSION) - error(S,"bad version (read %d.%d; expected at %s %d.%d)", - V(version),"most",V(VERSION)); - if (version<VERSION0) /* check last major change */ - error(S,"bad version (read %d.%d; expected at %s %d.%d)", - V(version),"least",V(VERSION0)); + if (version!=VERSION) + error(S,"bad version (read %d.%d; expected %d.%d)",V(version),V(VERSION)); S->swap=(luaU_endianness()!=LoadByte(S)); /* need to swap bytes? */ TestSize(S,sizeof(int),"int"); TestSize(S,sizeof(size_t),"size_t"); TestSize(S,sizeof(Instruction),"instruction"); TestSize(S,sizeof(lua_Number),"number"); x=LoadNumber(S); - if ((long)x!=(long)tx) /* disregard errors in last bits of fraction */ + if (x!=tx) error(S,"unknown number format"); } |