From 73f57b0c058debbcb05e9fefd33897ddaaae5b6f Mon Sep 17 00:00:00 2001 From: "Gregory P. Smith" Date: Sun, 23 Mar 2008 20:31:23 +0000 Subject: [PATCH] Revert r61779 - It undid correct code and caused test_zlib to fail on all 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 | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Modules/zlibmodule.c b/Modules/zlibmodule.c index a15f2d9bf2..384399d7c4 100644 --- a/Modules/zlibmodule.c +++ b/Modules/zlibmodule.c @@ -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; -- 2.50.0