cleanup bufferreader.

This commit is contained in:
Christopher Jeffrey 2016-04-29 17:15:21 -07:00
parent 383014e754
commit 06171c5779
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -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;