diff options
Diffstat (limited to 'lstate.c')
-rw-r--r-- | lstate.c | 14 |
1 files changed, 4 insertions, 10 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lstate.c,v 1.103 2002/08/07 19:22:39 roberto Exp roberto $ | 2 | ** $Id: lstate.c,v 1.104 2002/08/16 20:00:28 roberto Exp roberto $ |
3 | ** Global State | 3 | ** Global State |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -64,10 +64,7 @@ static void f_luaopen (lua_State *L, void *ud) { | |||
64 | G(L)->Mbuffer = NULL; | 64 | G(L)->Mbuffer = NULL; |
65 | G(L)->Mbuffsize = 0; | 65 | G(L)->Mbuffsize = 0; |
66 | G(L)->panic = &default_panic; | 66 | G(L)->panic = &default_panic; |
67 | G(L)->rootproto = NULL; | 67 | G(L)->rootgc = NULL; |
68 | G(L)->rootcl = NULL; | ||
69 | G(L)->roottable = NULL; | ||
70 | G(L)->rootupval = NULL; | ||
71 | G(L)->rootudata = NULL; | 68 | G(L)->rootudata = NULL; |
72 | G(L)->tmudata = NULL; | 69 | G(L)->tmudata = NULL; |
73 | setnilvalue(key(G(L)->dummynode)); | 70 | setnilvalue(key(G(L)->dummynode)); |
@@ -76,7 +73,7 @@ static void f_luaopen (lua_State *L, void *ud) { | |||
76 | G(L)->nblocks = sizeof(lua_State) + sizeof(global_State); | 73 | G(L)->nblocks = sizeof(lua_State) + sizeof(global_State); |
77 | stack_init(L, L); /* init stack */ | 74 | stack_init(L, L); /* init stack */ |
78 | /* create default meta table with a dummy table, and then close the loop */ | 75 | /* create default meta table with a dummy table, and then close the loop */ |
79 | sethvalue(defaultmeta(L), NULL); | 76 | defaultmeta(L)->tt = LUA_TTABLE; |
80 | sethvalue(defaultmeta(L), luaH_new(L, 0, 4)); | 77 | sethvalue(defaultmeta(L), luaH_new(L, 0, 4)); |
81 | hvalue(defaultmeta(L))->metatable = hvalue(defaultmeta(L)); | 78 | hvalue(defaultmeta(L))->metatable = hvalue(defaultmeta(L)); |
82 | sethvalue(gt(L), luaH_new(L, 0, 4)); /* table of globals */ | 79 | sethvalue(gt(L), luaH_new(L, 0, 4)); /* table of globals */ |
@@ -160,11 +157,8 @@ static void close_state (lua_State *L) { | |||
160 | luaF_close(L, L->stack); /* close all upvalues for this thread */ | 157 | luaF_close(L, L->stack); /* close all upvalues for this thread */ |
161 | if (G(L)) { /* close global state */ | 158 | if (G(L)) { /* close global state */ |
162 | luaC_sweep(L, 1); /* collect all elements */ | 159 | luaC_sweep(L, 1); /* collect all elements */ |
163 | lua_assert(G(L)->rootproto == NULL); | 160 | lua_assert(G(L)->rootgc == NULL); |
164 | lua_assert(G(L)->rootudata == NULL); | 161 | lua_assert(G(L)->rootudata == NULL); |
165 | lua_assert(G(L)->rootcl == NULL); | ||
166 | lua_assert(G(L)->rootupval == NULL); | ||
167 | lua_assert(G(L)->roottable == NULL); | ||
168 | luaS_freeall(L); | 162 | luaS_freeall(L); |
169 | luaM_freearray(L, G(L)->Mbuffer, G(L)->Mbuffsize, char); | 163 | luaM_freearray(L, G(L)->Mbuffer, G(L)->Mbuffsize, char); |
170 | luaM_freelem(NULL, L->l_G); | 164 | luaM_freelem(NULL, L->l_G); |