def write32(output, value):
output.write(struct.pack("<l", value))
+def write32u(output, value):
+ output.write(struct.pack("<L", value))
+
def read32(input):
return struct.unpack("<l", input.read(4))[0]
if fname:
flags = FNAME
self.fileobj.write(chr(flags))
- write32(self.fileobj, int(time.time()))
+ write32u(self.fileobj, long(time.time()))
self.fileobj.write('\002')
self.fileobj.write('\377')
if fname:
self.fileobj.seek(-8, 1)
crc32 = read32(self.fileobj)
isize = read32(self.fileobj)
- if crc32 != self.crc:
+ if crc32%0x100000000L != self.crc%0x100000000L:
raise ValueError, "CRC check failed"
elif isize != self.size:
raise ValueError, "Incorrect length of data produced"