Skip to content

Commit

Permalink
Fix __repr__, __str__ for C timestamps.
Browse files Browse the repository at this point in the history
  • Loading branch information
tseaver committed Dec 14, 2012
1 parent a6adc49 commit e692af8
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions persistent/_timestamp.c
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,11 @@ TimeStamp_raw(TimeStamp *self)
static PyObject *
TimeStamp_repr(TimeStamp *self)
{
return NATIVE_FROM_STRING_AND_SIZE((const char*)self->data, 8);
PyObject *raw, *result;
raw = TimeStamp_raw(self);
result = PyObject_Repr(raw);
Py_DECREF(raw);
return result;
}

static PyObject *
Expand All @@ -277,7 +281,7 @@ TimeStamp_str(TimeStamp *self)
p.y, p.m, p.d, p.mi / 60, p.mi % 60,
TimeStamp_sec(self));

return PyBytes_FromStringAndSize(buf, len);
return NATIVE_FROM_STRING_AND_SIZE(buf, len);
}


Expand Down Expand Up @@ -462,7 +466,8 @@ TimeStamp_TimeStamp(PyObject *obj, PyObject *args)
{
if (len != 8)
{
PyErr_SetString(PyExc_ValueError, "8-character string expected");
PyErr_SetString(PyExc_ValueError,
"8-byte array expected");
return NULL;
}
return TimeStamp_FromString(buf);
Expand Down

0 comments on commit e692af8

Please sign in to comment.