From: Jack Jansen Date: Sun, 23 Apr 1995 22:12:47 +0000 (+0000) Subject: MW does not always set errno on failing fopen() X-Git-Tag: v1.3b1~354 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e08dea19c25da59e51166d7f7b334a391bc7fb0f;p=thirdparty%2FPython%2Fcpython.git MW does not always set errno on failing fopen() --- diff --git a/Objects/fileobject.c b/Objects/fileobject.c index df27caf41fba..d83352758014 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;