diff options
Diffstat (limited to 'ldump.c')
| -rw-r--r-- | ldump.c | 20 |
1 files changed, 14 insertions, 6 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: ldump.c,v 2.17 2012/01/23 23:02:10 roberto Exp roberto $ | 2 | ** $Id: ldump.c,v 2.18 2013/04/12 19:07:09 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 | */ |
| @@ -52,6 +52,11 @@ static void DumpNumber(lua_Number x, DumpState* D) | |||
| 52 | DumpVar(x,D); | 52 | DumpVar(x,D); |
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | static void DumpInteger(lua_Integer x, DumpState* D) | ||
| 56 | { | ||
| 57 | DumpVar(x,D); | ||
| 58 | } | ||
| 59 | |||
| 55 | static void DumpVector(const void* b, int n, size_t size, DumpState* D) | 60 | static void DumpVector(const void* b, int n, size_t size, DumpState* D) |
| 56 | { | 61 | { |
| 57 | DumpInt(n,D); | 62 | DumpInt(n,D); |
| @@ -84,18 +89,21 @@ static void DumpConstants(const Proto* f, DumpState* D) | |||
| 84 | for (i=0; i<n; i++) | 89 | for (i=0; i<n; i++) |
| 85 | { | 90 | { |
| 86 | const TValue* o=&f->k[i]; | 91 | const TValue* o=&f->k[i]; |
| 87 | DumpChar(ttnov(o),D); | 92 | DumpChar(ttype(o),D); |
| 88 | switch (ttnov(o)) | 93 | switch (ttype(o)) |
| 89 | { | 94 | { |
| 90 | case LUA_TNIL: | 95 | case LUA_TNIL: |
| 91 | break; | 96 | break; |
| 92 | case LUA_TBOOLEAN: | 97 | case LUA_TBOOLEAN: |
| 93 | DumpChar(bvalue(o),D); | 98 | DumpChar(bvalue(o),D); |
| 94 | break; | 99 | break; |
| 95 | case LUA_TNUMBER: | 100 | case LUA_TNUMFLT: |
| 96 | DumpNumber(nvalue(o),D); | 101 | DumpNumber(fltvalue(o),D); |
| 102 | break; | ||
| 103 | case LUA_TNUMINT: | ||
| 104 | DumpInteger(ivalue(o),D); | ||
| 97 | break; | 105 | break; |
| 98 | case LUA_TSTRING: | 106 | case LUA_TSHRSTR: case LUA_TLNGSTR: |
| 99 | DumpString(rawtsvalue(o),D); | 107 | DumpString(rawtsvalue(o),D); |
| 100 | break; | 108 | break; |
| 101 | default: lua_assert(0); | 109 | default: lua_assert(0); |
