1.1 --- a/iixr/files.py Fri Sep 18 01:39:08 2009 +0200
1.2 +++ b/iixr/files.py Fri Sep 18 21:07:35 2009 +0200
1.3 @@ -105,23 +105,25 @@
1.4
1.5 # Read each byte, adding it to the number.
1.6
1.7 - shift = 0
1.8 - number = 0
1.9 read = self.f.read
1.10
1.11 - try:
1.12 - csd = ord(read(1))
1.13 - while csd & 128:
1.14 - number += ((csd & 127) << shift)
1.15 - shift += 7
1.16 - csd = ord(read(1))
1.17 + c = read(1)
1.18 + if c:
1.19 + csd = ord(c)
1.20 + if csd < 128:
1.21 + return csd
1.22 else:
1.23 - number += (csd << shift)
1.24 - except TypeError:
1.25 + shift = 0
1.26 + number = 0
1.27 + while csd & 128:
1.28 + number += ((csd & 127) << shift)
1.29 + shift += 7
1.30 + csd = ord(read(1))
1.31 + else:
1.32 + return number + (csd << shift)
1.33 + else:
1.34 raise EOFError
1.35
1.36 - return number
1.37 -
1.38 def read_string(self, decompress=0):
1.39
1.40 """