diff options
| -rw-r--r-- | ldump.c | 36 | ||||
| -rw-r--r-- | lundump.c | 11 |
2 files changed, 23 insertions, 24 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: ldump.c,v 2.20 2014/02/27 16:56:20 roberto Exp roberto $ | 2 | ** $Id: ldump.c,v 2.21 2014/02/27 18:56:15 roberto Exp roberto $ |
| 3 | ** save precompiled Lua chunks | 3 | ** save precompiled Lua chunks |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -36,9 +36,9 @@ static void DumpBlock(const void* b, size_t size, DumpState* D) | |||
| 36 | } | 36 | } |
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | static void DumpChar(int y, DumpState* D) | 39 | static void DumpByte(int y, DumpState* D) |
| 40 | { | 40 | { |
| 41 | char x=(char)y; | 41 | lu_byte x=(lu_byte)y; |
| 42 | DumpVar(x,D); | 42 | DumpVar(x,D); |
| 43 | } | 43 | } |
| 44 | 44 | ||
| @@ -89,13 +89,13 @@ static void DumpConstants(const Proto* f, DumpState* D) | |||
| 89 | for (i=0; i<n; i++) | 89 | for (i=0; i<n; i++) |
| 90 | { | 90 | { |
| 91 | const TValue* o=&f->k[i]; | 91 | const TValue* o=&f->k[i]; |
| 92 | DumpChar(ttype(o),D); | 92 | DumpByte(ttype(o),D); |
| 93 | switch (ttype(o)) | 93 | switch (ttype(o)) |
| 94 | { | 94 | { |
| 95 | case LUA_TNIL: | 95 | case LUA_TNIL: |
| 96 | break; | 96 | break; |
| 97 | case LUA_TBOOLEAN: | 97 | case LUA_TBOOLEAN: |
| 98 | DumpChar(bvalue(o),D); | 98 | DumpByte(bvalue(o),D); |
| 99 | break; | 99 | break; |
| 100 | case LUA_TNUMFLT: | 100 | case LUA_TNUMFLT: |
| 101 | DumpNumber(fltvalue(o),D); | 101 | DumpNumber(fltvalue(o),D); |
| @@ -120,8 +120,8 @@ static void DumpUpvalues(const Proto* f, DumpState* D) | |||
| 120 | DumpInt(n,D); | 120 | DumpInt(n,D); |
| 121 | for (i=0; i<n; i++) | 121 | for (i=0; i<n; i++) |
| 122 | { | 122 | { |
| 123 | DumpChar(f->upvalues[i].instack,D); | 123 | DumpByte(f->upvalues[i].instack,D); |
| 124 | DumpChar(f->upvalues[i].idx,D); | 124 | DumpByte(f->upvalues[i].idx,D); |
| 125 | } | 125 | } |
| 126 | } | 126 | } |
| 127 | 127 | ||
| @@ -148,9 +148,9 @@ static void DumpFunction(const Proto* f, DumpState* D) | |||
| 148 | { | 148 | { |
| 149 | DumpInt(f->linedefined,D); | 149 | DumpInt(f->linedefined,D); |
| 150 | DumpInt(f->lastlinedefined,D); | 150 | DumpInt(f->lastlinedefined,D); |
| 151 | DumpChar(f->numparams,D); | 151 | DumpByte(f->numparams,D); |
| 152 | DumpChar(f->is_vararg,D); | 152 | DumpByte(f->is_vararg,D); |
| 153 | DumpChar(f->maxstacksize,D); | 153 | DumpByte(f->maxstacksize,D); |
| 154 | DumpCode(f,D); | 154 | DumpCode(f,D); |
| 155 | DumpConstants(f,D); | 155 | DumpConstants(f,D); |
| 156 | DumpUpvalues(f,D); | 156 | DumpUpvalues(f,D); |
| @@ -161,13 +161,13 @@ static void DumpHeader(DumpState* D) | |||
| 161 | { | 161 | { |
| 162 | DumpBlock(LUA_SIGNATURE,sizeof(LUA_SIGNATURE),D); | 162 | DumpBlock(LUA_SIGNATURE,sizeof(LUA_SIGNATURE),D); |
| 163 | DumpBlock(LUAC_DATA,sizeof(LUAC_DATA),D); | 163 | DumpBlock(LUAC_DATA,sizeof(LUAC_DATA),D); |
| 164 | DumpChar(LUAC_VERSION,D); | 164 | DumpByte(LUAC_VERSION,D); |
| 165 | DumpChar(LUAC_FORMAT,D); | 165 | DumpByte(LUAC_FORMAT,D); |
| 166 | DumpChar(sizeof(int),D); | 166 | DumpByte(sizeof(int),D); |
| 167 | DumpChar(sizeof(size_t),D); | 167 | DumpByte(sizeof(size_t),D); |
| 168 | DumpChar(sizeof(Instruction),D); | 168 | DumpByte(sizeof(Instruction),D); |
| 169 | DumpChar(sizeof(lua_Integer),D); | 169 | DumpByte(sizeof(lua_Integer),D); |
| 170 | DumpChar(sizeof(lua_Number),D); | 170 | DumpByte(sizeof(lua_Number),D); |
| 171 | DumpInteger(LUAC_INT,D); | 171 | DumpInteger(LUAC_INT,D); |
| 172 | DumpNumber(LUAC_NUM,D); | 172 | DumpNumber(LUAC_NUM,D); |
| 173 | } | 173 | } |
| @@ -184,7 +184,7 @@ int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip | |||
| 184 | D.strip=strip; | 184 | D.strip=strip; |
| 185 | D.status=0; | 185 | D.status=0; |
| 186 | DumpHeader(&D); | 186 | DumpHeader(&D); |
| 187 | DumpChar(f->sizeupvalues,&D); | 187 | DumpByte(f->sizeupvalues,&D); |
| 188 | DumpFunction(f,&D); | 188 | DumpFunction(f,&D); |
| 189 | return D.status; | 189 | return D.status; |
| 190 | } | 190 | } |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lundump.c,v 2.26 2014/02/27 16:56:20 roberto Exp roberto $ | 2 | ** $Id: lundump.c,v 2.27 2014/02/27 18:56:15 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 | */ |
| @@ -34,7 +34,6 @@ static l_noret error(LoadState* S, const char* why) | |||
| 34 | } | 34 | } |
| 35 | 35 | ||
| 36 | #define LoadMem(S,b,n,size) LoadBlock(S,b,(n)*(size)) | 36 | #define LoadMem(S,b,n,size) LoadBlock(S,b,(n)*(size)) |
| 37 | #define LoadByte(S) (lu_byte)LoadChar(S) | ||
| 38 | #define LoadVar(S,x) LoadMem(S,&x,1,sizeof(x)) | 37 | #define LoadVar(S,x) LoadMem(S,&x,1,sizeof(x)) |
| 39 | #define LoadVector(S,b,n,size) LoadMem(S,b,n,size) | 38 | #define LoadVector(S,b,n,size) LoadMem(S,b,n,size) |
| 40 | 39 | ||
| @@ -47,9 +46,9 @@ static void LoadBlock(LoadState* S, void* b, size_t size) | |||
| 47 | if (luaZ_read(S->Z,b,size)!=0) error(S,"truncated"); | 46 | if (luaZ_read(S->Z,b,size)!=0) error(S,"truncated"); |
| 48 | } | 47 | } |
| 49 | 48 | ||
| 50 | static int LoadChar(LoadState* S) | 49 | static lu_byte LoadByte(LoadState* S) |
| 51 | { | 50 | { |
| 52 | char x; | 51 | lu_byte x; |
| 53 | LoadVar(S,x); | 52 | LoadVar(S,x); |
| 54 | return x; | 53 | return x; |
| 55 | } | 54 | } |
| @@ -110,14 +109,14 @@ static void LoadConstants(LoadState* S, Proto* f) | |||
| 110 | for (i=0; i<n; i++) | 109 | for (i=0; i<n; i++) |
| 111 | { | 110 | { |
| 112 | TValue* o=&f->k[i]; | 111 | TValue* o=&f->k[i]; |
| 113 | int t=LoadChar(S); | 112 | int t=LoadByte(S); |
| 114 | switch (t) | 113 | switch (t) |
| 115 | { | 114 | { |
| 116 | case LUA_TNIL: | 115 | case LUA_TNIL: |
| 117 | setnilvalue(o); | 116 | setnilvalue(o); |
| 118 | break; | 117 | break; |
| 119 | case LUA_TBOOLEAN: | 118 | case LUA_TBOOLEAN: |
| 120 | setbvalue(o,LoadChar(S)); | 119 | setbvalue(o,LoadByte(S)); |
| 121 | break; | 120 | break; |
| 122 | case LUA_TNUMFLT: | 121 | case LUA_TNUMFLT: |
| 123 | setnvalue(o,LoadNumber(S)); | 122 | setnvalue(o,LoadNumber(S)); |
