Browse Source

fs.ReadStream: Passing null for file position on all reads except the first read of a range read.

v0.7.4-release
Evan Larkin 14 years ago
committed by Ryan Dahl
parent
commit
914ff78df6
  1. 10
      lib/fs.js

10
lib/fs.js

@ -683,9 +683,8 @@ ReadStream.prototype._read = function () {
allocNewPool();
}
if (this.start !== undefined && this.firstRead) {
this.pos = this.start;
this.firstRead = false;
if (self.start !== undefined && self.firstRead) {
self.pos = self.start;
}
// Grab another reference to the pool in the case that while we're in the
@ -731,7 +730,10 @@ ReadStream.prototype._read = function () {
self._read();
}
fs.read(self.fd, pool, pool.used, toRead, this.pos, afterRead);
// pass null for position after we've seeked to the start of a range read
// always pass null on a non-range read
fs.read(self.fd, pool, pool.used, toRead, (self.firstRead ? self.pos : null), afterRead);
self.firstRead = false;
if (self.pos !== undefined) {
self.pos += toRead;

Loading…
Cancel
Save