diff options
author | daurnimator <quae@daurnimator.com> | 2017-05-21 20:44:31 +1000 |
---|---|---|
committer | daurnimator <quae@daurnimator.com> | 2017-05-21 20:45:35 +1000 |
commit | 7b7775f9edd1fd68bb4f6ec975fc08985e898816 (patch) | |
tree | b36d15d14c89503f342a99aca7b87f1602c97f09 | |
parent | 9bd802f91c02b7f9ed1241e7be1266a429ba0cf9 (diff) | |
download | fengari-7b7775f9edd1fd68bb4f6ec975fc08985e898816.tar.gz fengari-7b7775f9edd1fd68bb4f6ec975fc08985e898816.tar.bz2 fengari-7b7775f9edd1fd68bb4f6ec975fc08985e898816.zip |
lua_numbertointeger should return false on failure
Found via behaviour of pushnumint in lmathlib
-rw-r--r-- | src/luaconf.js | 2 | ||||
-rw-r--r-- | src/lvm.js | 3 |
2 files changed, 2 insertions, 3 deletions
diff --git a/src/luaconf.js b/src/luaconf.js index 7cf3d06..3d0d18f 100644 --- a/src/luaconf.js +++ b/src/luaconf.js @@ -19,7 +19,7 @@ const LUAI_MAXSTACK = 1000000; const LUA_IDSIZE = 60; const lua_numbertointeger = function(n) { - return n >= llimit.MIN_INT && n < -llimit.MIN_INT ? n : 0; + return n >= llimit.MIN_INT && n < -llimit.MIN_INT ? n : false; }; const LUA_INTEGER_FRMLEN = ""; @@ -801,8 +801,7 @@ const luaV_tointeger = function(obj, mode) { f += 1; /* convert floor to ceil (remember: n !== f) */ } - let res = luaconf.lua_numbertointeger(f); - return res !== 0 ? res : (n === 0 ? 0 : false); + return luaconf.lua_numbertointeger(f); } else if (obj.ttisinteger()) { return obj.value; } else if (obj.ttisstring()) { |