decode_long(): Simplified the "is it negative?" test.
This commit is contained in:
parent
f29d3d6011
commit
217e571a19
|
@ -590,14 +590,17 @@ def decode_long(data):
|
|||
-256L
|
||||
>>> decode_long("\x00\x80")
|
||||
-32768L
|
||||
>>>
|
||||
>>> decode_long("\x80")
|
||||
-128L
|
||||
>>> decode_long("\x7f")
|
||||
127L
|
||||
"""
|
||||
x = 0L
|
||||
i = 0L
|
||||
for c in data:
|
||||
x |= long(ord(c)) << i
|
||||
i += 8L
|
||||
if i and (x & (1L << (i-1L))):
|
||||
if data and ord(c) >= 0x80:
|
||||
x -= 1L << i
|
||||
return x
|
||||
|
||||
|
|
Loading…
Reference in New Issue