220
201
"Can't read %s bytes across range (%s, %s)"
221
202
% (size, self._start, self._size))
227
205
# Don't read past the range definition
228
206
limited = self._start + self._size - self._pos
230
208
limited = min(limited, size)
231
osutils.pumpfile(self._file, buffer, limited, self._max_read_size)
234
215
# Update _pos respecting the data effectively read