From: Tim Peters <tim.peters@gmail.com> Date: Mon, 27 Jan 2003 23:51:11 +0000 (+0000) Subject: decode_long(): Simplified the "is it negative?" test. X-Git-Tag: v2.3c1~2275 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=217e571a19c9d643005d8c8d88abab16f88735a2;p=python decode_long(): Simplified the "is it negative?" test. --- 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