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); |