summaryrefslogtreecommitdiff
path: root/Lib/pickletools.py
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2003-01-27 23:51:11 +0000
committerTim Peters <tim.peters@gmail.com>2003-01-27 23:51:11 +0000
commit80ac79bc661a678ce8623d3c025c5d5f46811729 (patch)
tree24e86edfff67804164563f63d901a4d52dbcb1ef /Lib/pickletools.py
parentb828cd7a66f749ac9c533cf143862c32c7ed661c (diff)
downloadcpython-80ac79bc661a678ce8623d3c025c5d5f46811729.tar.gz
decode_long(): Simplified the "is it negative?" test.
Diffstat (limited to 'Lib/pickletools.py')
-rw-r--r--Lib/pickletools.py7
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