From: Neal Norwitz Date: Thu, 5 Jan 2006 05:45:12 +0000 (+0000) Subject: Backport: Fix errors on 64-bit platforms. (There are still some test problems X-Git-Tag: v2.4.3c1~157 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4e90d912e5d7bf1401d9e6cd6f1c62783a4051bc;p=thirdparty%2FPython%2Fcpython.git Backport: Fix errors on 64-bit platforms. (There are still some test problems --- diff --git a/Misc/NEWS b/Misc/NEWS index 60102da878df..9ca6aac62fe4 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -38,6 +38,8 @@ Core and builtins Extension Modules ----------------- +- Fix 64-bit problems in bsddb. + - Bug #1290333: Added a workaround for cjkcodecs' _codecs_cn build problem on AIX. diff --git a/Modules/_bsddb.c b/Modules/_bsddb.c index 2712e3d15a2b..a834cbaa6637 100644 --- a/Modules/_bsddb.c +++ b/Modules/_bsddb.c @@ -1510,7 +1510,7 @@ DB_pget(DBObject* self, PyObject* args, PyObject* kwargs) if (self->primaryDBType == DB_RECNO || self->primaryDBType == DB_QUEUE) - pkeyObj = PyInt_FromLong(*(long *)pkey.data); + pkeyObj = PyInt_FromLong(*(int *)pkey.data); else pkeyObj = PyString_FromStringAndSize(pkey.data, pkey.size); @@ -1519,7 +1519,7 @@ DB_pget(DBObject* self, PyObject* args, PyObject* kwargs) PyObject *keyObj; int type = _DB_get_type(self); if (type == DB_RECNO || type == DB_QUEUE) - keyObj = PyInt_FromLong(*(long *)key.data); + keyObj = PyInt_FromLong(*(int *)key.data); else keyObj = PyString_FromStringAndSize(key.data, key.size); retval = Py_BuildValue("OOO", keyObj, pkeyObj, dataObj); @@ -2991,7 +2991,7 @@ DBC_pget(DBCursorObject* self, PyObject* args, PyObject *kwargs) if (self->mydb->primaryDBType == DB_RECNO || self->mydb->primaryDBType == DB_QUEUE) - pkeyObj = PyInt_FromLong(*(long *)pkey.data); + pkeyObj = PyInt_FromLong(*(int *)pkey.data); else pkeyObj = PyString_FromStringAndSize(pkey.data, pkey.size); @@ -3000,7 +3000,7 @@ DBC_pget(DBCursorObject* self, PyObject* args, PyObject *kwargs) PyObject *keyObj; int type = _DB_get_type(self->mydb); if (type == DB_RECNO || type == DB_QUEUE) - keyObj = PyInt_FromLong(*(long *)key.data); + keyObj = PyInt_FromLong(*(int *)key.data); else keyObj = PyString_FromStringAndSize(key.data, key.size); retval = Py_BuildValue("OOO", keyObj, pkeyObj, dataObj);