diff options
author | Tim Peters <tim.peters@gmail.com> | 2003-01-27 23:51:11 +0000 |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2003-01-27 23:51:11 +0000 |
commit | 80ac79bc661a678ce8623d3c025c5d5f46811729 (patch) | |
tree | 24e86edfff67804164563f63d901a4d52dbcb1ef /Lib/pickletools.py | |
parent | b828cd7a66f749ac9c533cf143862c32c7ed661c (diff) | |
download | cpython-80ac79bc661a678ce8623d3c025c5d5f46811729.tar.gz |
decode_long(): Simplified the "is it negative?" test.
Diffstat (limited to 'Lib/pickletools.py')
-rw-r--r-- | Lib/pickletools.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Lib/pickletools.py b/Lib/pickletools.py index 5c0367be0f..dec533d492 100644 --- a/Lib/pickletools.py +++ b/Lib/pickletools.py @@ -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 |