diff options
author | 2022-08-28 00:28:50 -0700 | |
---|---|---|
committer | 2022-08-28 00:28:50 -0700 | |
commit | 30992a8b051565ace57083b990d010316d56605d (patch) | |
tree | 6b7aebdba0990c338e353b78f469df073d3d922a | |
parent | af5c4dedca550a856486ec8bbc9f6da76396496e (diff) | |
download | bun-30992a8b051565ace57083b990d010316d56605d.tar.gz bun-30992a8b051565ace57083b990d010316d56605d.tar.zst bun-30992a8b051565ace57083b990d010316d56605d.zip |
[bun:ffi] Fix int16 / uin16 max
-rw-r--r-- | src/bun.js/ffi.exports.js | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/bun.js/ffi.exports.js b/src/bun.js/ffi.exports.js index a35b508c4..f149cc0a9 100644 --- a/src/bun.js/ffi.exports.js +++ b/src/bun.js/ffi.exports.js @@ -62,10 +62,10 @@ ffiWrappers[FFIType.uint8_t] = function uint8(val) { return val < 0 ? 0 : val >= 255 ? 255 : val | 0; }; ffiWrappers[FFIType.int16_t] = function int16(val) { - return val <= -8192 ? -8192 : val >= 8192 ? 8192 : val | 0; + return val <= -32768 ? -32768 : val >= 32768 ? 32768 : val | 0; }; ffiWrappers[FFIType.uint16_t] = function uint16(val) { - return val <= 0 ? 0 : val >= 16384 ? 16384 : val | 0; + return val <= 0 ? 0 : val >= 65536 ? 65536 : val | 0; }; ffiWrappers[FFIType.int32_t] = function int32(val) { return val | 0; @@ -76,7 +76,10 @@ ffiWrappers[FFIType.uint32_t] = function uint32(val) { }; ffiWrappers[FFIType.i64_fast] = function int64(val) { if (typeof val === "bigint") { - if (val <= BigInt(Number.MAX_SAFE_INTEGER) && val >= BigInt(-Number.MAX_SAFE_INTEGER)) { + if ( + val <= BigInt(Number.MAX_SAFE_INTEGER) && + val >= BigInt(-Number.MAX_SAFE_INTEGER) + ) { return Number(val).valueOf() || 0; } |