diff options
Diffstat (limited to 'lstate.c')
-rw-r--r-- | lstate.c | 9 |
1 files changed, 3 insertions, 6 deletions
@@ -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 | ||