From e08dea19c25da59e51166d7f7b334a391bc7fb0f Mon Sep 17 00:00:00 2001 From: Jack Jansen Date: Sun, 23 Apr 1995 22:12:47 +0000 Subject: MW does not always set errno on failing fopen() --- Objects/fileobject.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Objects/fileobject.c b/Objects/fileobject.c index df27caf..d833527 100644 --- a/Objects/fileobject.c +++ b/Objects/fileobject.c @@ -32,6 +32,10 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #ifdef THINK_C #define HAVE_FOPENRF #endif +#ifdef __MWERKS__ +/* Mwerks fopen() doesn't always set errno */ +#define NO_FOPEN_ERRNO +#endif #define BUF(v) GETSTRINGVALUE((stringobject *)v) @@ -111,6 +115,13 @@ newfileobject(name, mode) END_SAVE } if (f->f_fp == NULL) { +#ifdef NO_FOPEN_ERRNO + if ( errno == 0 ) { + err_setstr(IOError, "Cannot open file"); + DECREF(f); + return NULL; + } +#endif err_errno(IOError); DECREF(f); return NULL; -- cgit v0.12