diff options
Diffstat (limited to 'src/lua/lstate.c')
-rw-r--r-- | src/lua/lstate.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/lua/lstate.c b/src/lua/lstate.c index 4227429..1596b51 100644 --- a/src/lua/lstate.c +++ b/src/lua/lstate.c | |||
@@ -181,7 +181,7 @@ static void stack_init (lua_State *L1, lua_State *L) { | |||
181 | int i; CallInfo *ci; | 181 | int i; CallInfo *ci; |
182 | /* initialize stack array */ | 182 | /* initialize stack array */ |
183 | L1->stack = luaM_newvector(L, BASIC_STACK_SIZE + EXTRA_STACK, StackValue); | 183 | L1->stack = luaM_newvector(L, BASIC_STACK_SIZE + EXTRA_STACK, StackValue); |
184 | for (i = 0; i < BASIC_STACK_SIZE; i++) | 184 | for (i = 0; i < BASIC_STACK_SIZE + EXTRA_STACK; i++) |
185 | setnilvalue(s2v(L1->stack + i)); /* erase new stack */ | 185 | setnilvalue(s2v(L1->stack + i)); /* erase new stack */ |
186 | L1->top = L1->stack; | 186 | L1->top = L1->stack; |
187 | L1->stack_last = L1->stack + BASIC_STACK_SIZE; | 187 | L1->stack_last = L1->stack + BASIC_STACK_SIZE; |
@@ -213,17 +213,14 @@ static void freestack (lua_State *L) { | |||
213 | ** Create registry table and its predefined values | 213 | ** Create registry table and its predefined values |
214 | */ | 214 | */ |
215 | static void init_registry (lua_State *L, global_State *g) { | 215 | static void init_registry (lua_State *L, global_State *g) { |
216 | TValue temp; | ||
217 | /* create registry */ | 216 | /* create registry */ |
218 | Table *registry = luaH_new(L); | 217 | Table *registry = luaH_new(L); |
219 | sethvalue(L, &g->l_registry, registry); | 218 | sethvalue(L, &g->l_registry, registry); |
220 | luaH_resize(L, registry, LUA_RIDX_LAST, 0); | 219 | luaH_resize(L, registry, LUA_RIDX_LAST, 0); |
221 | /* registry[LUA_RIDX_MAINTHREAD] = L */ | 220 | /* registry[LUA_RIDX_MAINTHREAD] = L */ |
222 | setthvalue(L, &temp, L); /* temp = L */ | 221 | setthvalue(L, ®istry->array[LUA_RIDX_MAINTHREAD - 1], L); |
223 | luaH_setint(L, registry, LUA_RIDX_MAINTHREAD, &temp); | 222 | /* registry[LUA_RIDX_GLOBALS] = new table (table of globals) */ |
224 | /* registry[LUA_RIDX_GLOBALS] = table of globals */ | 223 | sethvalue(L, ®istry->array[LUA_RIDX_GLOBALS - 1], luaH_new(L)); |
225 | sethvalue(L, &temp, luaH_new(L)); /* temp = new table (global table) */ | ||
226 | luaH_setint(L, registry, LUA_RIDX_GLOBALS, &temp); | ||
227 | } | 224 | } |
228 | 225 | ||
229 | 226 | ||