aboutsummaryrefslogtreecommitdiff
path: root/ldump.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2013-04-26 15:48:35 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2013-04-26 15:48:35 -0300
commiteee51492e26bc295d2b67b91aa7bdb97a21e3623 (patch)
tree694f60a1200a517f4aa1b5dfc377b7c759d2dbf0 /ldump.c
parentc37b7b3cca3f58389aefb3903b58fd213bae2b16 (diff)
downloadlua-eee51492e26bc295d2b67b91aa7bdb97a21e3623.tar.gz
lua-eee51492e26bc295d2b67b91aa7bdb97a21e3623.tar.bz2
lua-eee51492e26bc295d2b67b91aa7bdb97a21e3623.zip
dumping and undumping integers
Diffstat (limited to 'ldump.c')
-rw-r--r--ldump.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/ldump.c b/ldump.c
index 6864a3fa..b7606d29 100644
--- a/ldump.c
+++ b/ldump.c
@@ -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
55static void DumpInteger(lua_Integer x, DumpState* D)
56{
57 DumpVar(x,D);
58}
59
55static void DumpVector(const void* b, int n, size_t size, DumpState* D) 60static 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);