From c07422c119ab1f53fbaec489872af7e89d6dde4f Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Wed, 11 Feb 2015 16:18:09 +0200 Subject: [PATCH] Splitted the WFILE structure to WFILE and RFILE. --- Python/marshal.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Python/marshal.c b/Python/marshal.c index 51d35c22956..c1ce2fe8d6b 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -65,15 +65,10 @@ typedef struct { FILE *fp; int error; /* see WFERR_* values */ int depth; - /* If fp == NULL, the following are valid: */ - PyObject *readable; /* Stream-like object being read from */ PyObject *str; - PyObject *current_filename; char *ptr; char *end; char *buf; - Py_ssize_t buf_size; - PyObject *refs; /* dict on marshal, list on unmarshal */ _Py_hashtable_t *hashtable; int version; } WFILE; @@ -636,7 +631,17 @@ PyMarshal_WriteObjectToFile(PyObject *x, FILE *fp, int version) w_flush(&wf); } -typedef WFILE RFILE; /* Same struct with different invariants */ +typedef struct { + FILE *fp; + int depth; + PyObject *readable; /* Stream-like object being read from */ + PyObject *current_filename; + char *ptr; + char *end; + char *buf; + Py_ssize_t buf_size; + PyObject *refs; /* a list */ +} RFILE; static char * r_string(Py_ssize_t n, RFILE *p)