1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-09-18 08:52:26 +02:00

code review of pure-js implementation of lz4

This commit is contained in:
Raymond Hill 2018-08-12 08:47:50 -04:00
parent 0aeaf27f58
commit 55501c4cdf
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2

View File

@ -59,7 +59,7 @@ let growOutputBuffer = function(instance, size) {
let encodeBound = function(size) {
return size > 0x7E000000 ?
0 :
size + size / 255 + 16;
size + (size / 255 | 0) + 16;
};
let encodeBlock = function(instance, iBuf, oOffset) {
@ -81,9 +81,8 @@ let encodeBlock = function(instance, iBuf, oOffset) {
iBuf = new Uint8Array(iBuf);
}
let oBuf = new Uint8Array(
growOutputBuffer(instance, oOffset + encodeBound(iLen))
);
let oLen = oOffset + encodeBound(iLen);
let oBuf = new Uint8Array(growOutputBuffer(instance, oLen), 0, oLen);
let iPos = 0;
let oPos = oOffset;
let anchorPos = 0;
@ -186,7 +185,7 @@ let encodeBlock = function(instance, iBuf, oOffset) {
let decodeBlock = function(instance, iBuf, iOffset, oLen) {
let iLen = iBuf.byteLength;
let oBuf = new Uint8Array(growOutputBuffer(instance, oLen));
let oBuf = new Uint8Array(growOutputBuffer(instance, oLen), 0, oLen);
let iPos = iOffset, oPos = 0;
while ( iPos < iLen ) {