diff options
Diffstat (limited to 'Python/marshal.c')
-rw-r--r-- | Python/marshal.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Python/marshal.c b/Python/marshal.c index 7cd84f6..008659d 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -17,6 +17,7 @@ #define TYPE_NULL '0' #define TYPE_NONE 'N' +#define TYPE_STOPITER 'S' #define TYPE_ELLIPSIS '.' #define TYPE_INT 'i' #define TYPE_INT64 'I' @@ -120,6 +121,9 @@ w_object(PyObject *v, WFILE *p) else if (v == Py_None) { w_byte(TYPE_NONE, p); } + else if (v == PyExc_StopIteration) { + w_byte(TYPE_STOPITER, p); + } else if (v == Py_Ellipsis) { w_byte(TYPE_ELLIPSIS, p); } @@ -376,6 +380,10 @@ r_object(RFILE *p) Py_INCREF(Py_None); return Py_None; + case TYPE_STOPITER: + Py_INCREF(PyExc_StopIteration); + return PyExc_StopIteration; + case TYPE_ELLIPSIS: Py_INCREF(Py_Ellipsis); return Py_Ellipsis; |