summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBenoit Giannangeli <giann008@gmail.com>2017-04-24 08:50:48 +0200
committerBenoit Giannangeli <giann008@gmail.com>2017-04-24 11:18:25 +0200
commitd15e00af0798783bdce5e27d2ab43de3ecb3fa4e (patch)
treed8ba199f3b198413fa75d492a2820b8fb304f2de /src
parent1094adc81e7f46720e9ef269f43fc265475cddf7 (diff)
downloadfengari-d15e00af0798783bdce5e27d2ab43de3ecb3fa4e.tar.gz
fengari-d15e00af0798783bdce5e27d2ab43de3ecb3fa4e.tar.bz2
fengari-d15e00af0798783bdce5e27d2ab43de3ecb3fa4e.zip
L.openupval was not set in luaF_close
Diffstat (limited to 'src')
-rw-r--r--src/lfunc.js4
-rw-r--r--src/lstate.js4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/lfunc.js b/src/lfunc.js
index bde96d7..3f8fe2d 100644
--- a/src/lfunc.js
+++ b/src/lfunc.js
@@ -81,7 +81,7 @@ const findupval = function(L, level) {
uv.u.open.next = pp;
uv.u.open.touched = true;
- pp = uv;
+ L.openupval = uv;
uv.v = level;
@@ -96,7 +96,7 @@ const luaF_close = function(L, level) {
assert(uv.isopen());
L.openupval = uv.u.open.next; /* remove from 'open' list */
if (uv.refcount > 0) {
- uv.value = L.stack[uv.v];
+ uv.u.value = L.stack[uv.v];
uv.v = null;
}
}
diff --git a/src/lstate.js b/src/lstate.js
index d95889b..5842562 100644
--- a/src/lstate.js
+++ b/src/lstate.js
@@ -50,7 +50,7 @@ class lua_State extends lobject.TValue {
this.ci = null;
this.ciOff = null;
this.stack = [];
- this.openupval = [];
+ this.openupval = null;
this.status = TS.LUA_OK;
this.next = null;
this.twups = [this];
@@ -138,7 +138,7 @@ const preinit_thread = function(L, g) {
L.basehookcount = 0;
L.allowhook = 1;
L.hookcount = L.basehookcount;
- L.openupval = [];
+ L.openupval = null;
L.nny = 1;
L.status = TS.LUA_OK;
L.errfunc = 0;