]> arthur.barton.de Git - bup.git/commitdiff
vfs: short circuit read when at EOF
authorRob Browning <rlb@defaultvalue.org>
Mon, 3 Dec 2018 18:45:47 +0000 (12:45 -0600)
committerRob Browning <rlb@defaultvalue.org>
Sat, 8 Dec 2018 22:10:27 +0000 (16:10 -0600)
Signed-off-by: Rob Browning <rlb@defaultvalue.org>
lib/bup/vfs.py

index 124c3f0462a47f6a621e137ee6233ae15f5baead..b84e4c886f25a1dcf50e88cb417c286cd3806b36 100644 (file)
@@ -170,8 +170,11 @@ class _FileReader(object):
         return self.ofs
 
     def read(self, count=-1):
+        size = self._compute_size()
+        if self.ofs >= size:
+            return ''
         if count < 0:
-            count = self._compute_size() - self.ofs
+            count = size - self.ofs
         if not self.reader or self.reader.ofs != self.ofs:
             self.reader = _ChunkReader(self._repo, self.oid, self.ofs)
         try: