[Python-checkins] r42705 - python/trunk/Modules/_bsddb.c
thomas.wouters
python-checkins at python.org
Wed Mar 1 02:01:56 CET 2006
Author: thomas.wouters
Date: Wed Mar 1 02:01:55 2006
New Revision: 42705
Modified:
python/trunk/Modules/_bsddb.c
Log:
Fix DBEnv's set_tx_timestamp wrapper to be slightly more correct on
non-32bit platforms. Will still only allow 32 bits in a timestamp on Win64,
but at least it won't crash, and it'll work right on platforms where longs
are big enough to contain time_t's.
(A better-working, although conceptually less-right fix would have been to
use Py_ssize_t here, but Martin and Tim won't let me.)
Modified: python/trunk/Modules/_bsddb.c
==============================================================================
--- python/trunk/Modules/_bsddb.c (original)
+++ python/trunk/Modules/_bsddb.c Wed Mar 1 02:01:55 2006
@@ -4190,13 +4190,14 @@
DBEnv_set_tx_timestamp(DBEnvObject* self, PyObject* args)
{
int err;
- time_t stamp;
+ long stamp;
+ time_t timestamp;
- if (!PyArg_ParseTuple(args, "i:set_tx_timestamp", &stamp))
+ if (!PyArg_ParseTuple(args, "l:set_tx_timestamp", &stamp))
return NULL;
CHECK_ENV_NOT_CLOSED(self);
-
- err = self->db_env->set_tx_timestamp(self->db_env, &stamp);
+ timestamp = (time_t)stamp;
+ err = self->db_env->set_tx_timestamp(self->db_env, ×tamp);
RETURN_IF_ERR();
RETURN_NONE();
}
More information about the Python-checkins
mailing list