diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2013-04-26 15:48:35 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2013-04-26 15:48:35 -0300 |
| commit | eee51492e26bc295d2b67b91aa7bdb97a21e3623 (patch) | |
| tree | 694f60a1200a517f4aa1b5dfc377b7c759d2dbf0 /ldump.c | |
| parent | c37b7b3cca3f58389aefb3903b58fd213bae2b16 (diff) | |
| download | lua-eee51492e26bc295d2b67b91aa7bdb97a21e3623.tar.gz lua-eee51492e26bc295d2b67b91aa7bdb97a21e3623.tar.bz2 lua-eee51492e26bc295d2b67b91aa7bdb97a21e3623.zip | |
dumping and undumping integers
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); |
