]> granicus.if.org Git - python/commitdiff
Revert r61779 - It undid correct code and caused test_zlib to fail on all
authorGregory P. Smith <greg@mad-scientist.com>
Sun, 23 Mar 2008 20:31:23 +0000 (20:31 +0000)
committerGregory P. Smith <greg@mad-scientist.com>
Sun, 23 Mar 2008 20:31:23 +0000 (20:31 +0000)
platforms with a 64-bit long.

The Alpha/Tru64 test problem is a problem in either tarfile or test_tarfile,
not zlib.

crc32 and adler32 return 32-bit values.  by using a long thats larger than
32-bits in these functions they were prevented from wrapping around to their
signed 32-bit value that we want them to return in python 2.x.

Modules/zlibmodule.c

index a15f2d9bf2f625de2a1589f8897d0e114f553573..384399d7c4cd4b807dc18b3ecfef1159a9638749 100644 (file)
@@ -891,8 +891,7 @@ PyZlib_adler32(PyObject *self, PyObject *args)
 {
     uLong adler32val = adler32(0L, Z_NULL, 0);
     Byte *buf;
-    int len;
-    long signed_val;
+    int len, signed_val;
 
     if (!PyArg_ParseTuple(args, "s#|k:adler32", &buf, &len, &adler32val))
        return NULL;
@@ -915,8 +914,7 @@ PyZlib_crc32(PyObject *self, PyObject *args)
 {
     uLong crc32val = crc32(0L, Z_NULL, 0);
     Byte *buf;
-    int len;
-    long signed_val;
+    int len, signed_val;
 
     if (!PyArg_ParseTuple(args, "s#|k:crc32", &buf, &len, &crc32val))
        return NULL;