mirror of https://github.com/python/cpython.git
MW does not always set errno on failing fopen()
This commit is contained in:
parent
1ff2f218ca
commit
e08dea19c2
|
@ -32,6 +32,10 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
#ifdef THINK_C
|
#ifdef THINK_C
|
||||||
#define HAVE_FOPENRF
|
#define HAVE_FOPENRF
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __MWERKS__
|
||||||
|
/* Mwerks fopen() doesn't always set errno */
|
||||||
|
#define NO_FOPEN_ERRNO
|
||||||
|
#endif
|
||||||
|
|
||||||
#define BUF(v) GETSTRINGVALUE((stringobject *)v)
|
#define BUF(v) GETSTRINGVALUE((stringobject *)v)
|
||||||
|
|
||||||
|
@ -111,6 +115,13 @@ newfileobject(name, mode)
|
||||||
END_SAVE
|
END_SAVE
|
||||||
}
|
}
|
||||||
if (f->f_fp == NULL) {
|
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);
|
err_errno(IOError);
|
||||||
DECREF(f);
|
DECREF(f);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue