summaryrefslogtreecommitdiff
path: root/src/lstrlib.js
diff options
context:
space:
mode:
authordaurnimator <quae@daurnimator.com>2017-06-18 23:36:02 +1000
committerdaurnimator <quae@daurnimator.com>2017-06-19 00:09:51 +1000
commit4723651910e6e6f5cff6f0dce51c00777cc213ce (patch)
treefb9072070beb0564d4ddf76bdbb77cecbfb16ee7 /src/lstrlib.js
parent61997410c91b75b0bc54790dbed9ea104854df01 (diff)
downloadfengari-4723651910e6e6f5cff6f0dce51c00777cc213ce.tar.gz
fengari-4723651910e6e6f5cff6f0dce51c00777cc213ce.tar.bz2
fengari-4723651910e6e6f5cff6f0dce51c00777cc213ce.zip
Change size_t from 8 bytes to 4 bytes
JavaScript cannot perform arithmetic on 8byte (i.e. 64bit) numbers
Diffstat (limited to 'src/lstrlib.js')
-rw-r--r--src/lstrlib.js6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lstrlib.js b/src/lstrlib.js
index e005bdc..0d67903 100644
--- a/src/lstrlib.js
+++ b/src/lstrlib.js
@@ -453,13 +453,13 @@ const getoption = function(h, fmt) {
case 'L'.charCodeAt(0): r.size = 4; r.opt = KOption.Kuint; return r;
case 'j'.charCodeAt(0): r.size = 4; r.opt = KOption.Kint; return r; // sizeof(lua_Integer): 4
case 'J'.charCodeAt(0): r.size = 4; r.opt = KOption.Kuint; return r;
- case 'T'.charCodeAt(0): r.size = 8; r.opt = KOption.Kuint; return r; // sizeof(size_t): 8
+ case 'T'.charCodeAt(0): r.size = 4; r.opt = KOption.Kuint; return r; // sizeof(size_t): 4
case 'f'.charCodeAt(0): r.size = 4; r.opt = KOption.Kfloat; return r; // sizeof(float): 4
case 'd'.charCodeAt(0): r.size = 8; r.opt = KOption.Kfloat; return r; // sizeof(double): 8
case 'n'.charCodeAt(0): r.size = 8; r.opt = KOption.Kfloat; return r; // sizeof(lua_Number): 8
case 'i'.charCodeAt(0): r.size = getnumlimit(h, fmt, 4); r.opt = KOption.Kint; return r; // sizeof(int): 4
case 'I'.charCodeAt(0): r.size = getnumlimit(h, fmt, 4); r.opt = KOption.Kuint; return r;
- case 's'.charCodeAt(0): r.size = getnumlimit(h, fmt, 8); r.opt = KOption.Kstring; return r;
+ case 's'.charCodeAt(0): r.size = getnumlimit(h, fmt, 4); r.opt = KOption.Kstring; return r;
case 'c'.charCodeAt(0): {
r.size = getnum(fmt, -1);
if (r.size === -1)
@@ -608,7 +608,7 @@ const str_pack = function(L) {
case KOption.Kstring: { /* strings with length count */
let s = lauxlib.luaL_checkstring(L, arg);
let len = s.length;
- lauxlib.luaL_argcheck(L, size >= 8 /* sizeof(size_t) */ ||
+ lauxlib.luaL_argcheck(L, size >= 4 /* sizeof(size_t) */ ||
len < (1 << (size * NB)),
arg, lua.to_luastring("string length does not fit in given size", true));
packint(b, len, h.islittle, size, 0); /* pack length */