Browse Source

Merge pull request #4382 from nnethercote/off-by-one

Avoid extra allocations in ensureBuffer() caused by an off-by-one error.
Yury Delendik 11 years ago
parent
commit
f46942758f
  1. 12
      src/core/stream.js

12
src/core/stream.js

@ -108,9 +108,15 @@ var DecodeStream = (function DecodeStreamClosure() { @@ -108,9 +108,15 @@ var DecodeStream = (function DecodeStreamClosure() {
DecodeStream.prototype = {
ensureBuffer: function DecodeStream_ensureBuffer(requested) {
var buffer = this.buffer;
var current = buffer ? buffer.byteLength : 0;
if (requested < current)
return buffer;
var current;
if (buffer) {
current = buffer.byteLength;
if (requested <= current) {
return buffer;
}
} else {
current = 0;
}
var size = 512;
while (size < requested)
size <<= 1;

Loading…
Cancel
Save