A bugfix for r61813, it would fail if the data size was >=2**32.
diff --git a/Lib/gzip.py b/Lib/gzip.py
index f3cf9fe..2246c9d 100644
--- a/Lib/gzip.py
+++ b/Lib/gzip.py
@@ -15,10 +15,6 @@
READ, WRITE = 1, 2
-def U32(i):
- """Return the low-order 32 bits, as a non-negative int or long."""
- return i & 0xFFFFFFFFL
-
def write32u(output, value):
# The L format writes the bit pattern correctly whether signed
# or unsigned.
@@ -306,7 +302,7 @@
if crc32 != self.crc:
raise IOError("CRC check failed %s != %s" % (hex(crc32),
hex(self.crc)))
- elif isize != self.size:
+ elif isize != (self.size & 0xffffffffL):
raise IOError, "Incorrect length of data produced"
def close(self):