Skip to content

Commit b8179dc

Browse files
committed
Merge pull request #46 from Nibbler999/iojs-3.0
Fix iojs 3.0 Buffer.buffer issue
2 parents 4895258 + 664f2af commit b8179dc

File tree

1 file changed

+8
-13
lines changed

1 file changed

+8
-13
lines changed

lib/index.js

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,9 @@ exports.encodePacket = function (packet, supportsBinary, utf8encode, callback) {
6060
utf8encode = null;
6161
}
6262

63-
var data = (packet.data === undefined)
64-
? undefined
65-
: packet.data.buffer || packet.data;
66-
67-
if (Buffer.isBuffer(data)) {
63+
if (Buffer.isBuffer(packet.data)) {
6864
return encodeBuffer(packet, supportsBinary, callback);
69-
} else if (data instanceof ArrayBuffer) {
65+
} else if (packet.data && (packet.data.buffer || packet.data) instanceof ArrayBuffer) {
7066
return encodeArrayBuffer(packet, supportsBinary, callback);
7167
}
7268

@@ -97,9 +93,8 @@ function encodeBuffer(packet, supportsBinary, callback) {
9793
}
9894

9995
function encodeArrayBuffer(packet, supportsBinary, callback) {
100-
var data = (packet.data === undefined)
101-
? undefined
102-
: packet.data.buffer || packet.data;
96+
97+
var data = packet.data.buffer || packet.data;
10398

10499
if (!supportsBinary) {
105100
return exports.encodeBase64Packet(packet, callback);
@@ -123,11 +118,11 @@ function encodeArrayBuffer(packet, supportsBinary, callback) {
123118
*/
124119

125120
exports.encodeBase64Packet = function(packet, callback){
126-
var data = packet.data.buffer || packet.data;
127-
if (data instanceof ArrayBuffer) {
128-
var buf = new Buffer(data.byteLength);
121+
122+
if (!Buffer.isBuffer(packet.data)) {
123+
var buf = new Buffer(packet.data.byteLength);
129124
for (var i = 0; i < buf.length; i++) {
130-
buf[i] = data[i];
125+
buf[i] = packet.data[i];
131126
}
132127
packet.data = buf;
133128
}

0 commit comments

Comments
 (0)