encoding: fix varint bns.
This commit is contained in:
parent
dd0ebe5320
commit
1e18ca772a
@ -574,7 +574,7 @@ encoding.sizeVarint = function sizeVarint(num) {
|
||||
*/
|
||||
|
||||
encoding.readVarintBN = function readVarintBN(data, off) {
|
||||
var value, size;
|
||||
var result, value, size;
|
||||
|
||||
assert(off < data.length);
|
||||
|
||||
@ -586,7 +586,9 @@ encoding.readVarintBN = function readVarintBN(data, off) {
|
||||
assert(value.bitLength() > 32);
|
||||
return new Varint(size, value);
|
||||
default:
|
||||
return encoding.readVarint(data, off);
|
||||
result = encoding.readVarint(data, off);
|
||||
result.value = new BN(result.value);
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
@ -600,9 +602,9 @@ encoding.readVarintBN = function readVarintBN(data, off) {
|
||||
|
||||
encoding.writeVarintBN = function writeVarintBN(dst, num, off) {
|
||||
if (num.bitLength() > 32) {
|
||||
dst[off] = 0xff;
|
||||
encoding.writeU64BN(dst, num, off + 1);
|
||||
return off + 9;
|
||||
dst[off++] = 0xff;
|
||||
off = encoding.writeU64BN(dst, num, off);
|
||||
return off;
|
||||
}
|
||||
|
||||
return encoding.writeVarint(dst, num.toNumber(), off);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user