[Checkins] SVN: persistent/trunk/ Fix __repr__, __str__ for C timestamps.

Tres Seaver cvs-admin at zope.org
Fri Dec 14 00:21:20 UTC 2012


Log message for revision 128638:
  Fix __repr__, __str__ for C timestamps.

Changed:
  _U  persistent/trunk/
  U   persistent/trunk/persistent/_timestamp.c

-=-
Modified: persistent/trunk/persistent/_timestamp.c
===================================================================
--- persistent/trunk/persistent/_timestamp.c	2012-12-14 00:21:19 UTC (rev 128637)
+++ persistent/trunk/persistent/_timestamp.c	2012-12-14 00:21:20 UTC (rev 128638)
@@ -262,7 +262,11 @@
 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 *
@@ -277,7 +281,7 @@
              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);
 }
 
 
@@ -462,7 +466,8 @@
     {
         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);



More information about the checkins mailing list