comparison mercurial/revlog.py @ 3078:baa3873eb387

don't let lazyparser read more data than it can handle This should fix issue368.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Sun, 10 Sep 2006 19:15:08 -0300
parents 5df3e5cf16bc
children e7fc04dc6349
comparison
equal deleted inserted replaced
3077:ad6aecaf4eed 3078:baa3873eb387
137 137
138 def loadblock(self, blockstart, blocksize, data=None): 138 def loadblock(self, blockstart, blocksize, data=None):
139 if self.all: return 139 if self.all: return
140 if data is None: 140 if data is None:
141 self.dataf.seek(blockstart) 141 self.dataf.seek(blockstart)
142 if blockstart + blocksize > self.datasize:
143 # the revlog may have grown since we've started running,
144 # but we don't have space in self.index for more entries.
145 # limit blocksize so that we don't get too much data.
146 blocksize = self.datasize - blockstart
142 data = self.dataf.read(blocksize) 147 data = self.dataf.read(blocksize)
143 lend = len(data) / self.s 148 lend = len(data) / self.s
144 i = blockstart / self.s 149 i = blockstart / self.s
145 off = 0 150 off = 0
146 for x in xrange(lend): 151 for x in xrange(lend):