diff options
Diffstat (limited to 'lfunc.c')
| -rw-r--r-- | lfunc.c | 1 |
1 files changed, 1 insertions, 0 deletions
| @@ -202,6 +202,7 @@ int luaF_close (lua_State *L, StkId level, int status) { | |||
| 202 | while ((uv = L->openupval) != NULL && uplevel(uv) >= level) { | 202 | while ((uv = L->openupval) != NULL && uplevel(uv) >= level) { |
| 203 | StkId upl = uplevel(uv); | 203 | StkId upl = uplevel(uv); |
| 204 | TValue *slot = &uv->u.value; /* new position for value */ | 204 | TValue *slot = &uv->u.value; /* new position for value */ |
| 205 | lua_assert(upl < L->top); | ||
| 205 | luaF_unlinkupval(uv); | 206 | luaF_unlinkupval(uv); |
| 206 | setobj(L, slot, uv->v); /* move value to upvalue slot */ | 207 | setobj(L, slot, uv->v); /* move value to upvalue slot */ |
| 207 | uv->v = slot; /* now current value lives here */ | 208 | uv->v = slot; /* now current value lives here */ |
