diff options
Diffstat (limited to 'Python/marshal.c')
-rw-r--r-- | Python/marshal.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Python/marshal.c b/Python/marshal.c index 3cdaecd..ab26f51 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -17,6 +17,8 @@ #define TYPE_NULL '0' #define TYPE_NONE 'N' +#define TYPE_FALSE 'F' +#define TYPE_TRUE 'T' #define TYPE_STOPITER 'S' #define TYPE_ELLIPSIS '.' #define TYPE_INT 'i' @@ -126,6 +128,12 @@ w_object(PyObject *v, WFILE *p) else if (v == Py_Ellipsis) { w_byte(TYPE_ELLIPSIS, p); } + else if (v == Py_False) { + w_byte(TYPE_FALSE, p); + } + else if (v == Py_True) { + w_byte(TYPE_TRUE, p); + } else if (PyInt_Check(v)) { long x = PyInt_AS_LONG((PyIntObject *)v); #if SIZEOF_LONG > 4 @@ -398,6 +406,14 @@ r_object(RFILE *p) Py_INCREF(Py_Ellipsis); return Py_Ellipsis; + case TYPE_FALSE: + Py_INCREF(Py_False); + return Py_False; + + case TYPE_TRUE: + Py_INCREF(Py_True); + return Py_True; + case TYPE_INT: return PyInt_FromLong(r_long(p)); |