diff options
Diffstat (limited to '')
| -rw-r--r-- | ldo.c | 3 | ||||
| -rw-r--r-- | lstate.c | 12 |
2 files changed, 9 insertions, 6 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: ldo.c,v 1.47 1999/09/06 15:24:46 roberto Exp roberto $ | 2 | ** $Id: ldo.c,v 1.48 1999/10/04 17:51:04 roberto Exp roberto $ |
| 3 | ** Stack and Call structure of Lua | 3 | ** Stack and Call structure of Lua |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -236,6 +236,7 @@ void lua_error (const char *s) { | |||
| 236 | if (L->errorJmp) | 236 | if (L->errorJmp) |
| 237 | longjmp(L->errorJmp->b, 1); | 237 | longjmp(L->errorJmp->b, 1); |
| 238 | else { | 238 | else { |
| 239 | LUA_INTERNALERROR("exit!!"); | ||
| 239 | message("exit(1). Unable to recover.\n"); | 240 | message("exit(1). Unable to recover.\n"); |
| 240 | exit(1); | 241 | exit(1); |
| 241 | } | 242 | } |
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lstate.c,v 1.13 1999/08/16 20:52:00 roberto Exp roberto $ | 2 | ** $Id: lstate.c,v 1.14 1999/10/04 17:51:04 roberto Exp $ |
| 3 | ** Global State | 3 | ** Global State |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -53,6 +53,10 @@ void lua_open (void) { | |||
| 53 | 53 | ||
| 54 | void lua_close (void) { | 54 | void lua_close (void) { |
| 55 | luaC_collect(1); /* collect all elements */ | 55 | luaC_collect(1); /* collect all elements */ |
| 56 | LUA_ASSERT(L->rootproto == NULL, "list should be empty"); | ||
| 57 | LUA_ASSERT(L->rootcl == NULL, "list should be empty"); | ||
| 58 | LUA_ASSERT(L->rootglobal == NULL, "list should be empty"); | ||
| 59 | LUA_ASSERT(L->roottable == NULL, "list should be empty"); | ||
| 56 | luaS_freeall(); | 60 | luaS_freeall(); |
| 57 | luaM_free(L->stack.stack); | 61 | luaM_free(L->stack.stack); |
| 58 | luaM_free(L->IMtable); | 62 | luaM_free(L->IMtable); |
| @@ -61,11 +65,9 @@ void lua_close (void) { | |||
| 61 | luaM_free(L->Cblocks); | 65 | luaM_free(L->Cblocks); |
| 62 | LUA_ASSERT(L->nblocks == 0, "wrong count for nblocks"); | 66 | LUA_ASSERT(L->nblocks == 0, "wrong count for nblocks"); |
| 63 | luaM_free(L); | 67 | luaM_free(L); |
| 68 | LUA_ASSERT(numblocks == 0, "memory leak!"); | ||
| 69 | LUA_ASSERT(totalmem == 0,"memory leak!"); | ||
| 64 | L = NULL; | 70 | L = NULL; |
| 65 | #ifdef DEBUG | ||
| 66 | printf("total de blocos: %ld\n", numblocks); | ||
| 67 | printf("total de memoria: %ld\n", totalmem); | ||
| 68 | #endif | ||
| 69 | } | 71 | } |
| 70 | 72 | ||
| 71 | 73 | ||
