Splitted the WFILE structure to WFILE and RFILE.

This commit is contained in:
Serhiy Storchaka 2015-02-11 16:18:09 +02:00
parent c1efe5f039
commit c07422c119
1 changed files with 11 additions and 6 deletions

View File

@ -65,15 +65,10 @@ typedef struct {
FILE *fp; FILE *fp;
int error; /* see WFERR_* values */ int error; /* see WFERR_* values */
int depth; int depth;
/* If fp == NULL, the following are valid: */
PyObject *readable; /* Stream-like object being read from */
PyObject *str; PyObject *str;
PyObject *current_filename;
char *ptr; char *ptr;
char *end; char *end;
char *buf; char *buf;
Py_ssize_t buf_size;
PyObject *refs; /* dict on marshal, list on unmarshal */
_Py_hashtable_t *hashtable; _Py_hashtable_t *hashtable;
int version; int version;
} WFILE; } WFILE;
@ -636,7 +631,17 @@ PyMarshal_WriteObjectToFile(PyObject *x, FILE *fp, int version)
w_flush(&wf); 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 * static char *
r_string(Py_ssize_t n, RFILE *p) r_string(Py_ssize_t n, RFILE *p)