[Patch #1350573] zlib.crc32 doesn't handle 0xffffffff seed.  Add tests and bugfix.  Bug reported by John Schmidt; bugfix by Danny Yoo.
diff --git a/Modules/zlibmodule.c b/Modules/zlibmodule.c
index c3238a0..a598ae3 100644
--- a/Modules/zlibmodule.c
+++ b/Modules/zlibmodule.c
@@ -778,7 +778,7 @@
     Byte *buf;
     int len;
 
-    if (!PyArg_ParseTuple(args, "s#|l:adler32", &buf, &len, &adler32val))
+    if (!PyArg_ParseTuple(args, "s#|k:adler32", &buf, &len, &adler32val))
 	return NULL;
     adler32val = adler32(adler32val, buf, len);
     return PyInt_FromLong(adler32val);
@@ -796,7 +796,7 @@
     uLong crc32val = crc32(0L, Z_NULL, 0);
     Byte *buf;
     int len;
-    if (!PyArg_ParseTuple(args, "s#|l:crc32", &buf, &len, &crc32val))
+    if (!PyArg_ParseTuple(args, "s#|k:crc32", &buf, &len, &crc32val))
 	return NULL;
     crc32val = crc32(crc32val, buf, len);
     return PyInt_FromLong(crc32val);