summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dedup/compression.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/dedup/compression.py b/dedup/compression.py
index 4385f1d..cc65bbf 100644
--- a/dedup/compression.py
+++ b/dedup/compression.py
@@ -1,6 +1,9 @@
import struct
+import sys
import zlib
+crc32_type = "L" if sys.version_info.major >= 3 else "l"
+
class GzipDecompressor(object):
"""An interface to gzip which is similar to bz2.BZ2Decompressor and
lzma.LZMADecompressor."""
@@ -60,7 +63,7 @@ class GzipDecompressor(object):
elif not self.sawheader:
return self.inbuffer
else:
- expect = struct.pack("<ll", self.crc, self.size)
+ expect = struct.pack("<" + crc32_type + "L", self.crc, self.size)
if self.inbuffer.startswith(expect) and \
self.inbuffer[len(expect):].replace(b"\0", b"") == b"":
return b""