]> granicus.if.org Git - python/commitdiff
Fix test_tarfile failures on Alpha (Tru64). The problem was caused in r61449
authorNeal Norwitz <nnorwitz@gmail.com>
Sun, 23 Mar 2008 05:08:37 +0000 (05:08 +0000)
committerNeal Norwitz <nnorwitz@gmail.com>
Sun, 23 Mar 2008 05:08:37 +0000 (05:08 +0000)
which made the return value signed.  On the Alpha that also lost data
since sizeof(int) != sizeof(long) and apparently adler32/crc32 return
64 bits of data.  This change keeps the signedness and continues to store the
data in a long rather than an int as was the case before r61449.

Modules/zlibmodule.c

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