From 06171c577931e6fd9831a15d9862e3962714dc9b Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Fri, 29 Apr 2016 17:15:21 -0700 Subject: [PATCH] cleanup bufferreader. --- lib/bcoin/reader.js | 85 +++++++++++++++++++++++++++++---------------- 1 file changed, 55 insertions(+), 30 deletions(-) diff --git a/lib/bcoin/reader.js b/lib/bcoin/reader.js index b67921fd..5ce8493d 100644 --- a/lib/bcoin/reader.js +++ b/lib/bcoin/reader.js @@ -49,10 +49,12 @@ BufferReader.prototype.start = function start() { */ BufferReader.prototype.end = function end() { + var start, end; + assert(this.stack.length > 0); - var start = this.stack.pop(); - var end = this.offset; + start = this.stack.pop(); + end = this.offset; if (this.stack.length === 0) this.destroy(); @@ -70,12 +72,14 @@ BufferReader.prototype.end = function end() { */ BufferReader.prototype.endData = function endData() { + var start, end, size, data; + assert(this.stack.length > 0); - var start = this.stack.pop(); - var end = this.offset; - var size = end - start; - var data = this.data; + start = this.stack.pop(); + end = this.offset; + size = end - start; + data = this.data; if (this.stack.length === 0) this.destroy(); @@ -83,8 +87,8 @@ BufferReader.prototype.endData = function endData() { if (size === data.length) return data; - // if (this.zeroCopy) - // return data.slice(start, end); + if (this.zeroCopy) + return data.slice(start, end); return utils.slice(data, start, end); }; @@ -105,8 +109,9 @@ BufferReader.prototype.destroy = function destroy() { */ BufferReader.prototype.readU8 = function readU8() { + var ret; assert(this.offset + 1 <= this.data.length); - var ret = utils.readU8(this.data, this.offset); + ret = utils.readU8(this.data, this.offset); this.offset += 1; return ret; }; @@ -117,8 +122,9 @@ BufferReader.prototype.readU8 = function readU8() { */ BufferReader.prototype.readU16 = function readU16() { + var ret; assert(this.offset + 2 <= this.data.length); - var ret = utils.readU16(this.data, this.offset); + ret = utils.readU16(this.data, this.offset); this.offset += 2; return ret; }; @@ -129,8 +135,9 @@ BufferReader.prototype.readU16 = function readU16() { */ BufferReader.prototype.readU16BE = function readU16BE() { + var ret; assert(this.offset + 2 <= this.data.length); - var ret = utils.readU16BE(this.data, this.offset); + ret = utils.readU16BE(this.data, this.offset); this.offset += 2; return ret; }; @@ -141,8 +148,9 @@ BufferReader.prototype.readU16BE = function readU16BE() { */ BufferReader.prototype.readU32 = function readU32() { + var ret; assert(this.offset + 4 <= this.data.length); - var ret = utils.readU32(this.data, this.offset); + ret = utils.readU32(this.data, this.offset); this.offset += 4; return ret; }; @@ -153,8 +161,9 @@ BufferReader.prototype.readU32 = function readU32() { */ BufferReader.prototype.readU32BE = function readU32BE() { + var ret; assert(this.offset + 4 <= this.data.length); - var ret = utils.readU32BE(this.data, this.offset); + ret = utils.readU32BE(this.data, this.offset); this.offset += 4; return ret; }; @@ -165,8 +174,9 @@ BufferReader.prototype.readU32BE = function readU32BE() { */ BufferReader.prototype.readU64 = function readU64() { + var ret; assert(this.offset + 8 <= this.data.length); - var ret = utils.readU64(this.data, this.offset); + ret = utils.readU64(this.data, this.offset); this.offset += 8; return ret; }; @@ -177,8 +187,9 @@ BufferReader.prototype.readU64 = function readU64() { */ BufferReader.prototype.readU64BE = function readU64BE() { + var ret; assert(this.offset + 8 <= this.data.length); - var ret = utils.readU64BE(this.data, this.offset); + ret = utils.readU64BE(this.data, this.offset); this.offset += 8; return ret; }; @@ -190,8 +201,9 @@ BufferReader.prototype.readU64BE = function readU64BE() { */ BufferReader.prototype.readU64N = function readU64N(force53) { + var ret; assert(this.offset + 8 <= this.data.length); - var ret = utils.readU64N(this.data, this.offset, force53); + ret = utils.readU64N(this.data, this.offset, force53); this.offset += 8; return ret; }; @@ -203,8 +215,9 @@ BufferReader.prototype.readU64N = function readU64N(force53) { */ BufferReader.prototype.readU64NBE = function readU64NBE(force53) { + var ret; assert(this.offset + 8 <= this.data.length); - var ret = utils.readU64NBE(this.data, this.offset, force53); + ret = utils.readU64NBE(this.data, this.offset, force53); this.offset += 8; return ret; }; @@ -235,8 +248,9 @@ BufferReader.prototype.readU53BE = function readU53BE() { */ BufferReader.prototype.read8 = function read8() { + var ret; assert(this.offset + 1 <= this.data.length); - var ret = utils.read8(this.data, this.offset); + ret = utils.read8(this.data, this.offset); this.offset += 1; return ret; }; @@ -247,8 +261,9 @@ BufferReader.prototype.read8 = function read8() { */ BufferReader.prototype.read16 = function read16() { + var ret; assert(this.offset + 2 <= this.data.length); - var ret = utils.read16(this.data, this.offset); + ret = utils.read16(this.data, this.offset); this.offset += 2; return ret; }; @@ -259,8 +274,9 @@ BufferReader.prototype.read16 = function read16() { */ BufferReader.prototype.read16BE = function read16BE() { + var ret; assert(this.offset + 2 <= this.data.length); - var ret = utils.read16BE(this.data, this.offset); + ret = utils.read16BE(this.data, this.offset); this.offset += 2; return ret; }; @@ -271,8 +287,9 @@ BufferReader.prototype.read16BE = function read16BE() { */ BufferReader.prototype.read32 = function read32() { + var ret; assert(this.offset + 4 <= this.data.length); - var ret = utils.read32(this.data, this.offset); + ret = utils.read32(this.data, this.offset); this.offset += 4; return ret; }; @@ -283,8 +300,9 @@ BufferReader.prototype.read32 = function read32() { */ BufferReader.prototype.read32BE = function read32BE() { + var ret; assert(this.offset + 4 <= this.data.length); - var ret = utils.read32BE(this.data, this.offset); + ret = utils.read32BE(this.data, this.offset); this.offset += 4; return ret; }; @@ -295,8 +313,9 @@ BufferReader.prototype.read32BE = function read32BE() { */ BufferReader.prototype.read64 = function read64() { + var ret; assert(this.offset + 8 <= this.data.length); - var ret = utils.read64(this.data, this.offset); + ret = utils.read64(this.data, this.offset); this.offset += 8; return ret; }; @@ -307,8 +326,9 @@ BufferReader.prototype.read64 = function read64() { */ BufferReader.prototype.read64BE = function read64BE() { + var ret; assert(this.offset + 8 <= this.data.length); - var ret = utils.read64BE(this.data, this.offset); + ret = utils.read64BE(this.data, this.offset); this.offset += 8; return ret; }; @@ -320,8 +340,9 @@ BufferReader.prototype.read64BE = function read64BE() { */ BufferReader.prototype.read64N = function read64N(force53) { + var ret; assert(this.offset + 8 <= this.data.length); - var ret = utils.read64N(this.data, this.offset, force53); + ret = utils.read64N(this.data, this.offset, force53); this.offset += 8; return ret; }; @@ -333,8 +354,9 @@ BufferReader.prototype.read64N = function read64N(force53) { */ BufferReader.prototype.read64NBE = function read64NBE(force53) { + var ret; assert(this.offset + 8 <= this.data.length); - var ret = utils.read64NBE(this.data, this.offset, force53); + ret = utils.read64NBE(this.data, this.offset, force53); this.offset += 8; return ret; }; @@ -389,9 +411,10 @@ BufferReader.prototype.readBytes = function readBytes(size) { */ BufferReader.prototype.readString = function readString(enc, size) { + var ret; assert(size >= 0); assert(this.offset + size <= this.data.length); - var ret = this.data.toString(enc, this.offset, this.offset + size); + ret = this.data.toString(enc, this.offset, this.offset + size); this.offset += size; return ret; }; @@ -434,13 +457,14 @@ BufferReader.prototype.readVarBytes = function readVarBytes() { */ BufferReader.prototype.readNullString = function readNullString(enc) { + var i, ret; assert(this.offset + 1 <= this.data.length); - for (var i = this.offset; i < this.data.length; i++) { + for (i = this.offset; i < this.data.length; i++) { if (this.data[i] === 0) break; } assert(i !== this.data.length); - var ret = this.readString(enc, i - this.offset); + ret = this.readString(enc, i - this.offset); this.offset = i + 1; return ret; }; @@ -452,8 +476,9 @@ BufferReader.prototype.readNullString = function readNullString(enc) { */ BufferReader.prototype.readVarint = function readVarint(big) { + var result; assert(this.offset + 1 <= this.data.length); - var result = utils.readVarint(this.data, this.offset, big); + result = utils.readVarint(this.data, this.offset, big); assert(result.off <= this.data.length); assert(result.r >= 0); this.offset = result.off;