diff --git a/lib/parsers/javascript.js b/lib/parsers/javascript.js index d8c19032ae..a0a594f680 100644 --- a/lib/parsers/javascript.js +++ b/lib/parsers/javascript.js @@ -2,11 +2,6 @@ var util = require('util'); -function Packet(type, size) { - this.type = type; - this.size = +size; -} - function ReplyParser(return_buffers) { this.name = exports.name; this.return_buffers = return_buffers; @@ -23,7 +18,10 @@ function IncompleteReadBuffer(message) { util.inherits(IncompleteReadBuffer, Error); ReplyParser.prototype._parseResult = function (type) { - var start, end, offset, packetHeader; + var start = 0, + end = 0, + offset = 0, + packetHeader = 0; if (type === 43 || type === 45) { // + or - // up to the delimiter @@ -62,14 +60,14 @@ ReplyParser.prototype._parseResult = function (type) { // buffer in memory offset = this._offset - 1; - packetHeader = new Packet(type, this.parseHeader()); + packetHeader = this.parseHeader(); // packets with a size of -1 are considered null - if (packetHeader.size === -1) { + if (packetHeader === -1) { return null; } - end = this._offset + packetHeader.size; + end = this._offset + packetHeader; start = this._offset; if (end > this._buffer.length) { @@ -85,13 +83,13 @@ ReplyParser.prototype._parseResult = function (type) { return this._buffer.toString(this._encoding, start, end); } else { // * offset = this._offset; - packetHeader = new Packet(type, this.parseHeader()); + packetHeader = this.parseHeader(); - if (packetHeader.size < 0) { + if (packetHeader < 0) { return null; } - if (packetHeader.size > this._bytesRemaining()) { + if (packetHeader > this._bytesRemaining()) { this._offset = offset - 1; throw new IncompleteReadBuffer('Wait for more data.'); } @@ -101,7 +99,7 @@ ReplyParser.prototype._parseResult = function (type) { offset = this._offset - 1; - for (i = 0; i < packetHeader.size; i++) { + for (i = 0; i < packetHeader; i++) { ntype = this._buffer[this._offset++]; if (this._offset > this._buffer.length) { @@ -184,7 +182,7 @@ ReplyParser.prototype.append = function (newBuffer) { ReplyParser.prototype.parseHeader = function () { var end = this._packetEndOffset(), - value = this._buffer.toString('ascii', this._offset, end - 1); + value = this._buffer.toString('ascii', this._offset, end - 1) | 0; this._offset = end + 1;