Mercurial > cpython-lru_cache-weakref
diff Objects/bytesobject.c @ 41426:4561f6da3b7d
Real pickling for bytes.
Restore complex pickling.
Use cPickle in io.py.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Wed, 11 Apr 2007 05:40:58 +0000 |
| parents | 522b3f35d0eb |
| children | 458c8db2e946 |
line wrap: on
line diff
--- a/Objects/bytesobject.c Wed Apr 11 04:37:43 2007 +0000 +++ b/Objects/bytesobject.c Wed Apr 11 05:40:58 2007 +0000 @@ -2598,6 +2598,17 @@ return NULL; } +PyDoc_STRVAR(reduce_doc, "Return state information for pickling."); + +static PyObject * +bytes_reduce(PyBytesObject *self) +{ + return Py_BuildValue("(O(s#))", + self->ob_type, + self->ob_bytes == NULL ? "" : self->ob_bytes, + self->ob_size); +} + static PySequenceMethods bytes_as_sequence = { (lenfunc)bytes_length, /* sq_length */ (binaryfunc)bytes_concat, /* sq_concat */ @@ -2650,8 +2661,10 @@ {"remove", (PyCFunction)bytes_remove, METH_O, remove__doc__}, {"decode", (PyCFunction)bytes_decode, METH_VARARGS, decode_doc}, {"__alloc__", (PyCFunction)bytes_alloc, METH_NOARGS, alloc_doc}, - {"fromhex", (PyCFunction)bytes_fromhex, METH_VARARGS|METH_CLASS, fromhex_doc}, + {"fromhex", (PyCFunction)bytes_fromhex, METH_VARARGS|METH_CLASS, + fromhex_doc}, {"join", (PyCFunction)bytes_join, METH_O|METH_CLASS, join_doc}, + {"__reduce__", (PyCFunction)bytes_reduce, METH_NOARGS, reduce_doc}, {NULL} };
