summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
Diffstat (limited to 'Objects')
-rw-r--r--Objects/fileobject.c9
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