# HG changeset patch # User Paul Boddie # Date 1297470238 -3600 # Node ID b75bd39cf61f4fdec7d3b85b66f50f443e194adb # Parent 2b56cb8c19476b257ce0e47ee2e286fd04240749 Changed cache slicing to record pointer updating. diff -r 2b56cb8c1947 -r b75bd39cf61f iixr/files.py --- a/iixr/files.py Sat Feb 12 01:02:40 2011 +0100 +++ b/iixr/files.py Sat Feb 12 01:23:58 2011 +0100 @@ -187,14 +187,14 @@ pass def seek(self, offset): - if self.cache_start <= offset < self.cache_start + len(self.cache): - self.cache = self.cache[offset - self.cache_start:] + from_cache_start = offset - self.cache_start + if 0 <= from_cache_start < len(self.cache): + self.record_start = self.record_end = from_cache_start else: self.f.seek(offset) self.cache = array('B') - self.cache_start = offset - self.record_start = 0 - self.record_end = 0 + self.cache_start = offset + self.record_start = self.record_end = 0 self.reset() def tell(self):