Kaydet (Commit) 9d63ccae authored tarafından Thomas Wouters's avatar Thomas Wouters

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.)
üst ca82a8b7
......@@ -4190,13 +4190,14 @@ static PyObject*
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, &timestamp);
RETURN_IF_ERR();
RETURN_NONE();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment