Browse Source

Simplify fast buffer constructor

v0.7.4-release
Ryan Dahl 14 years ago
parent
commit
ba2e4a2306
  1. 21
      lib/buffer.js

21
lib/buffer.js

@ -114,7 +114,7 @@ function Buffer (subject, encoding, offset) {
if (this.length > Buffer.poolSize) {
// Big buffer, just alloc one.
this.parent = new SlowBuffer(subject, encoding);
this.parent = new SlowBuffer(this.length);
this.offset = 0;
} else {
@ -123,19 +123,16 @@ function Buffer (subject, encoding, offset) {
this.parent = pool;
this.offset = pool.used;
pool.used += this.length;
}
// Do we need to write stuff?
if (type !== 'number') {
// Assume object is an array
if (type === 'object') {
for (var i = 0; i < this.length; i++) {
this.parent[i + this.offset] = subject[i];
}
} else {
// We are a string
this.write(subject, 0, encoding);
}
// Assume object is an array
if (Array.isArray(subject)) {
for (var i = 0; i < this.length; i++) {
this.parent[i + this.offset] = subject[i];
}
} else if (type == 'string') {
// We are a string
this.write(subject, 0, encoding);
}
}

Loading…
Cancel
Save