1.1 --- a/iixr/data.py Fri Sep 18 01:08:44 2009 +0200
1.2 +++ b/iixr/data.py Fri Sep 18 01:39:08 2009 +0200
1.3 @@ -29,21 +29,16 @@
1.4 except KeyError:
1.5 if number >= 0:
1.6
1.7 - # Special case: one byte containing a 7-bit number.
1.8 -
1.9 - if number < 128:
1.10 - return chr(number)
1.11 -
1.12 # Write the number from least to most significant digits.
1.13
1.14 bytes = []
1.15
1.16 - while number != 0:
1.17 - lsd = number & 127
1.18 + while number > 127:
1.19 + lsd = number & 127 | 128
1.20 + bytes.append(chr(lsd))
1.21 number = number >> 7
1.22 - if number != 0:
1.23 - lsd |= 128
1.24 - bytes.append(chr(lsd))
1.25 + else:
1.26 + bytes.append(chr(number))
1.27
1.28 return "".join(bytes)
1.29