Fix Unpacker.feed() drops unused data in buffer. (#289)
Fixes #287
INADA Naoki authored 6 years ago
GitHub committed 6 years ago
288 | 288 | view = _get_data_from_buffer(next_bytes) |
289 | 289 | if (len(self._buffer) - self._buff_i + len(view) > self._max_buffer_size): |
290 | 290 | raise BufferFull |
291 | del self._buffer[:self._buff_i] | |
292 | self._buff_i = 0 | |
291 | ||
292 | # Strip buffer before checkpoint before reading file. | |
293 | if self._buf_checkpoint > 0: | |
294 | del self._buffer[:self._buf_checkpoint] | |
295 | self._buff_i -= self._buf_checkpoint | |
296 | self._buf_checkpoint = 0 | |
297 | ||
293 | 298 | self._buffer += view |
294 | 299 | |
295 | 300 | def _consume(self): |