diff options
Diffstat (limited to 'lundump.c')
| -rw-r--r-- | lundump.c | 16 |
1 files changed, 13 insertions, 3 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lundump.c,v 2.21 2012/03/19 22:58:09 roberto Exp roberto $ | 2 | ** $Id: lundump.c,v 2.22 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 | */ |
| @@ -69,6 +69,13 @@ static lua_Number LoadNumber(LoadState* S) | |||
| 69 | return x; | 69 | return x; |
| 70 | } | 70 | } |
| 71 | 71 | ||
| 72 | static lua_Integer LoadInteger(LoadState* S) | ||
| 73 | { | ||
| 74 | lua_Integer x; | ||
| 75 | LoadVar(S,x); | ||
| 76 | return x; | ||
| 77 | } | ||
| 78 | |||
| 72 | static TString* LoadString(LoadState* S) | 79 | static TString* LoadString(LoadState* S) |
| 73 | { | 80 | { |
| 74 | size_t size; | 81 | size_t size; |
| @@ -112,10 +119,13 @@ static void LoadConstants(LoadState* S, Proto* f) | |||
| 112 | case LUA_TBOOLEAN: | 119 | case LUA_TBOOLEAN: |
| 113 | setbvalue(o,LoadChar(S)); | 120 | setbvalue(o,LoadChar(S)); |
| 114 | break; | 121 | break; |
| 115 | case LUA_TNUMBER: | 122 | case LUA_TNUMFLT: |
| 116 | setnvalue(o,LoadNumber(S)); | 123 | setnvalue(o,LoadNumber(S)); |
| 117 | break; | 124 | break; |
| 118 | case LUA_TSTRING: | 125 | case LUA_TNUMINT: |
| 126 | setivalue(o,LoadInteger(S)); | ||
| 127 | break; | ||
| 128 | case LUA_TSHRSTR: case LUA_TLNGSTR: | ||
| 119 | setsvalue2n(S->L,o,LoadString(S)); | 129 | setsvalue2n(S->L,o,LoadString(S)); |
| 120 | break; | 130 | break; |
| 121 | default: lua_assert(0); | 131 | default: lua_assert(0); |
