aboutsummaryrefslogtreecommitdiff
path: root/lstate.c
diff options
context:
space:
mode:
Diffstat (limited to 'lstate.c')
-rw-r--r--lstate.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lstate.c b/lstate.c
index 6f4c7e28..c01e53ed 100644
--- a/lstate.c
+++ b/lstate.c
@@ -184,13 +184,16 @@ static void freestack (lua_State *L) {
184*/ 184*/
185static void init_registry (lua_State *L, global_State *g) { 185static void init_registry (lua_State *L, global_State *g) {
186 /* create registry */ 186 /* create registry */
187 TValue aux;
187 Table *registry = luaH_new(L); 188 Table *registry = luaH_new(L);
188 sethvalue(L, &g->l_registry, registry); 189 sethvalue(L, &g->l_registry, registry);
189 luaH_resize(L, registry, LUA_RIDX_LAST, 0); 190 luaH_resize(L, registry, LUA_RIDX_LAST, 0);
190 /* registry[LUA_RIDX_MAINTHREAD] = L */ 191 /* registry[LUA_RIDX_MAINTHREAD] = L */
191 setthvalue(L, &registry->array[LUA_RIDX_MAINTHREAD - 1], L); 192 setthvalue(L, &aux, L);
193 luaH_setint(L, registry, LUA_RIDX_MAINTHREAD, &aux);
192 /* registry[LUA_RIDX_GLOBALS] = new table (table of globals) */ 194 /* registry[LUA_RIDX_GLOBALS] = new table (table of globals) */
193 sethvalue(L, &registry->array[LUA_RIDX_GLOBALS - 1], luaH_new(L)); 195 sethvalue(L, &aux, luaH_new(L));
196 luaH_setint(L, registry, LUA_RIDX_GLOBALS, &aux);
194} 197}
195 198
196 199