diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2014-02-27 13:56:20 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2014-02-27 13:56:20 -0300 |
commit | 054179c2ffb108eb0c6535bed6288f70217c96ab (patch) | |
tree | ec291d2ac795f75e29fc37df07d33689bb399be6 /lundump.h | |
parent | 986c11daa66b6f0004f878bcbb9deaf5edbe15ee (diff) | |
download | lua-054179c2ffb108eb0c6535bed6288f70217c96ab.tar.gz lua-054179c2ffb108eb0c6535bed6288f70217c96ab.tar.bz2 lua-054179c2ffb108eb0c6535bed6288f70217c96ab.zip |
more explicit handling of headers for binary chunks
Diffstat (limited to 'lundump.h')
-rw-r--r-- | lundump.h | 22 |
1 files changed, 12 insertions, 10 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lundump.h,v 1.38 2011/05/17 12:42:43 roberto Exp roberto $ | 2 | ** $Id: lundump.h,v 1.39 2012/05/08 13:53:33 roberto Exp roberto $ |
3 | ** load precompiled Lua chunks | 3 | ** load precompiled Lua chunks |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -10,19 +10,21 @@ | |||
10 | #include "lobject.h" | 10 | #include "lobject.h" |
11 | #include "lzio.h" | 11 | #include "lzio.h" |
12 | 12 | ||
13 | |||
14 | /* data to catch conversion errors */ | ||
15 | #define LUAC_DATA "\x19\x93\r\n\x1a\n" | ||
16 | |||
17 | #define LUAC_INT 0xABCD | ||
18 | #define LUAC_NUM 370.5 | ||
19 | |||
20 | #define MYINT(s) (s[0]-'0') | ||
21 | #define LUAC_VERSION (MYINT(LUA_VERSION_MAJOR)*16+MYINT(LUA_VERSION_MINOR)) | ||
22 | #define LUAC_FORMAT 0 /* this is the official format */ | ||
23 | |||
13 | /* load one chunk; from lundump.c */ | 24 | /* load one chunk; from lundump.c */ |
14 | LUAI_FUNC Closure* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff, const char* name); | 25 | LUAI_FUNC Closure* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff, const char* name); |
15 | 26 | ||
16 | /* make header; from lundump.c */ | ||
17 | LUAI_FUNC void luaU_header (lu_byte* h); | ||
18 | |||
19 | /* dump one chunk; from ldump.c */ | 27 | /* dump one chunk; from ldump.c */ |
20 | LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip); | 28 | LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip); |
21 | 29 | ||
22 | /* data to catch conversion errors */ | ||
23 | #define LUAC_TAIL "\x19\x93\r\n\x1a\n" | ||
24 | |||
25 | /* size in bytes of header of binary files */ | ||
26 | #define LUAC_HEADERSIZE (sizeof(LUA_SIGNATURE)-sizeof(char)+2+6+sizeof(LUAC_TAIL)-sizeof(char)) | ||
27 | |||
28 | #endif | 30 | #endif |