From 40c6b47ca1e69f5b91b8ce3bd271865cb5a7d443 Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Thu, 5 Jan 2006 05:43:35 +0000 Subject: Fix errors on 64-bit platforms. Will backport --- Misc/NEWS | 2 ++ Modules/_bsddb.c | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index a0d04e2..37b127a 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -209,6 +209,8 @@ Core and builtins Extension Modules ----------------- +- Fix 64-bit problems in bsddb. + - Patch #1365916: fix some unsafe 64-bit mmap methods. - Bug #1290333: Added a workaround for cjkcodecs' _codecs_cn build diff --git a/Modules/_bsddb.c b/Modules/_bsddb.c index 59931c3..6f4da7e 100644 --- a/Modules/_bsddb.c +++ b/Modules/_bsddb.c @@ -1522,7 +1522,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); @@ -1531,7 +1531,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); @@ -3172,7 +3172,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); @@ -3181,7 +3181,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); -- cgit v0.12