@@ -56,32 +56,6 @@ PyFile_Name(PyObject *f)
56
56
return ((PyFileObject * )f )-> f_name ;
57
57
}
58
58
59
- /* On Unix, fopen will succeed for directories.
60
- In Python, there should be no file objects referring to
61
- directories, so we need a check. */
62
-
63
- static PyFileObject *
64
- dircheck (PyFileObject * f )
65
- {
66
- #if defined(HAVE_FSTAT ) && defined(S_IFDIR ) && defined(EISDIR )
67
- struct stat buf ;
68
- if (f -> f_fp == NULL )
69
- return f ;
70
- if (fstat (fileno (f -> f_fp ), & buf ) == 0 &&
71
- S_ISDIR (buf .st_mode )) {
72
- #ifdef HAVE_STRERROR
73
- char * msg = strerror (EISDIR );
74
- #else
75
- char * msg = "Is a directory" ;
76
- #endif
77
- PyObject * exc = PyObject_CallFunction (PyExc_IOError , "(is)" , EISDIR , msg );
78
- PyErr_SetObject (PyExc_IOError , exc );
79
- return NULL ;
80
- }
81
- #endif
82
- return f ;
83
- }
84
-
85
59
86
60
static PyObject *
87
61
fill_file_fields (PyFileObject * f , FILE * fp , char * name , char * mode ,
@@ -103,7 +77,6 @@ fill_file_fields(PyFileObject *f, FILE *fp, char *name, char *mode,
103
77
if (f -> f_name == NULL || f -> f_mode == NULL )
104
78
return NULL ;
105
79
f -> f_fp = fp ;
106
- f = dircheck (f );
107
80
return (PyObject * ) f ;
108
81
}
109
82
@@ -157,7 +130,6 @@ open_the_file(PyFileObject *f, char *name, char *mode)
157
130
PyErr_SetFromErrnoWithFilename (PyExc_IOError , name );
158
131
f = NULL ;
159
132
}
160
- f = dircheck (f );
161
133
return (PyObject * )f ;
162
134
}
163
135
0 commit comments