diff options
Diffstat (limited to 'Python/marshal.c')
| -rw-r--r-- | Python/marshal.c | 24 | 
1 files changed, 4 insertions, 20 deletions
| diff --git a/Python/marshal.c b/Python/marshal.c index 21093ee..73d4f37 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -254,7 +254,6 @@ w_object(PyObject *v, WFILE *p)              PyMem_Free(buf);          }      } -#ifndef WITHOUT_COMPLEX      else if (PyComplex_CheckExact(v)) {          if (p->version > 1) {              unsigned char buf[8]; @@ -297,7 +296,6 @@ w_object(PyObject *v, WFILE *p)              PyMem_Free(buf);          }      } -#endif      else if (PyBytes_CheckExact(v)) {          w_byte(TYPE_STRING, p);          n = PyBytes_GET_SIZE(v); @@ -714,7 +712,6 @@ r_object(RFILE *p)              break;          } -#ifndef WITHOUT_COMPLEX      case TYPE_COMPLEX:          {              char buf[256]; @@ -773,7 +770,6 @@ r_object(RFILE *p)              retval = PyComplex_FromCComplex(c);              break;          } -#endif      case TYPE_STRING:          n = r_long(p); @@ -1082,23 +1078,13 @@ getfilesize(FILE *fp)  PyObject *  PyMarshal_ReadLastObjectFromFile(FILE *fp)  { -/* 75% of 2.1's .pyc files can exploit SMALL_FILE_LIMIT. - * REASONABLE_FILE_LIMIT is by defn something big enough for Tkinter.pyc. - */ -#define SMALL_FILE_LIMIT (1L << 14) +/* REASONABLE_FILE_LIMIT is by defn something big enough for Tkinter.pyc. */  #define REASONABLE_FILE_LIMIT (1L << 18)  #ifdef HAVE_FSTAT      off_t filesize; -#endif -#ifdef HAVE_FSTAT      filesize = getfilesize(fp); -    if (filesize > 0) { -        char buf[SMALL_FILE_LIMIT]; -        char* pBuf = NULL; -        if (filesize <= SMALL_FILE_LIMIT) -            pBuf = buf; -        else if (filesize <= REASONABLE_FILE_LIMIT) -            pBuf = (char *)PyMem_MALLOC(filesize); +    if (filesize > 0 && filesize <= REASONABLE_FILE_LIMIT) { +        char* pBuf = (char *)PyMem_MALLOC(filesize);          if (pBuf != NULL) {              PyObject* v;              size_t n; @@ -1106,8 +1092,7 @@ PyMarshal_ReadLastObjectFromFile(FILE *fp)                 is smaller than REASONABLE_FILE_LIMIT */              n = fread(pBuf, 1, (int)filesize, fp);              v = PyMarshal_ReadObjectFromString(pBuf, n); -            if (pBuf != buf) -                PyMem_FREE(pBuf); +            PyMem_FREE(pBuf);              return v;          } @@ -1118,7 +1103,6 @@ PyMarshal_ReadLastObjectFromFile(FILE *fp)       */      return PyMarshal_ReadObjectFromFile(fp); -#undef SMALL_FILE_LIMIT  #undef REASONABLE_FILE_LIMIT  } | 
