diff options
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/fileobject.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Objects/fileobject.c b/Objects/fileobject.c index a60d3ef..27612f4 100644 --- a/Objects/fileobject.c +++ b/Objects/fileobject.c @@ -121,9 +121,14 @@ open_the_file(PyFileObject *f, char *name, char *mode) } if (f->f_fp == NULL) { #ifdef NO_FOPEN_ERRNO - /* Metroworks only, not testable, so unchanged */ + /* Metroworks only, wich does not always sets errno */ if (errno == 0) { - PyErr_SetString(PyExc_IOError, "Cannot open file"); + PyObject *v; + v = Py_BuildValue("(is)", 0, "Cannot open file"); + if (v != NULL) { + PyErr_SetObject(PyExc_IOError, v); + Py_DECREF(v); + } return NULL; } #endif |