Skip to content

Commit 4cae8d9

Browse files
committed
Rewrite expression in more understandable way
1 parent 9993735 commit 4cae8d9

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

KaitaiStream.js

+10-2
Original file line numberDiff line numberDiff line change
@@ -219,8 +219,12 @@ KaitaiStream.prototype.readS8be = function() {
219219
var v2 = this.readU4be();
220220

221221
if ((v1 & 0x80000000) !== 0) {
222+
var p1 = v1 ^ 0xffffffff;
223+
var p2 = v2 ^ 0xffffffff;
224+
var p3 = 0x100000000 * p1 + p2;
225+
222226
// negative number
223-
return -(0x100000000 * (v1 ^ 0xffffffff) + (v2 ^ 0xffffffff)) - 1;
227+
return -p3 - 1;
224228
} else {
225229
return 0x100000000 * v1 + v2;
226230
}
@@ -265,8 +269,12 @@ KaitaiStream.prototype.readS8le = function() {
265269
var v2 = this.readU4le();
266270

267271
if ((v2 & 0x80000000) !== 0) {
272+
var p1 = v1 ^ 0xffffffff;
273+
var p2 = v2 ^ 0xffffffff;
274+
var p3 = 0x100000000 * p2 + p1;
275+
268276
// negative number
269-
return -(0x100000000 * (v2 ^ 0xffffffff) + (v1 ^ 0xffffffff)) - 1;
277+
return -p3 - 1;
270278
} else {
271279
return 0x100000000 * v2 + v1;
272280
}

0 commit comments

Comments
 (0)