bpo-32381: Remove unused _Py_fopen() function (GH-23711)

Remove the private _Py_fopen() function which is no longer needed.
Use _Py_wfopen() or _Py_fopen_obj() instead.
This commit is contained in:
Victor Stinner 2020-12-09 20:54:31 +01:00 committed by GitHub
parent 550e4673be
commit ca06440207
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 3 additions and 31 deletions

View File

@ -95,10 +95,6 @@ PyAPI_FUNC(FILE *) _Py_wfopen(
const wchar_t *path, const wchar_t *path,
const wchar_t *mode); const wchar_t *mode);
PyAPI_FUNC(FILE*) _Py_fopen(
const char *pathname,
const char *mode);
PyAPI_FUNC(FILE*) _Py_fopen_obj( PyAPI_FUNC(FILE*) _Py_fopen_obj(
PyObject *path, PyObject *path,
const char *mode); const char *mode);

View File

@ -0,0 +1,3 @@
Remove the private :c:func:`_Py_fopen` function which is no longer needed.
Use :c:func:`_Py_wfopen` or :c:func:`_Py_fopen_obj` instead. Patch by Victor
Stinner.

View File

@ -1455,33 +1455,6 @@ _Py_wfopen(const wchar_t *path, const wchar_t *mode)
return f; return f;
} }
/* Wrapper to fopen().
The file descriptor is created non-inheritable.
If interrupted by a signal, fail with EINTR. */
FILE*
_Py_fopen(const char *pathname, const char *mode)
{
PyObject *pathname_obj = PyUnicode_DecodeFSDefault(pathname);
if (pathname_obj == NULL) {
return NULL;
}
if (PySys_Audit("open", "Osi", pathname_obj, mode, 0) < 0) {
Py_DECREF(pathname_obj);
return NULL;
}
Py_DECREF(pathname_obj);
FILE *f = fopen(pathname, mode);
if (f == NULL)
return NULL;
if (make_non_inheritable(fileno(f)) < 0) {
fclose(f);
return NULL;
}
return f;
}
/* Open a file. Call _wfopen() on Windows, or encode the path to the filesystem /* Open a file. Call _wfopen() on Windows, or encode the path to the filesystem
encoding and call fopen() otherwise. encoding and call fopen() otherwise.