From: Victor Stinner Date: Wed, 9 Dec 2020 19:54:31 +0000 (+0100) Subject: bpo-32381: Remove unused _Py_fopen() function (GH-23711) X-Git-Tag: v3.10.0a4~206 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ca064402079f889226cb107b26b329891431c319;p=thirdparty%2FPython%2Fcpython.git 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. --- diff --git a/Include/cpython/fileutils.h b/Include/cpython/fileutils.h index e79d03e24f57..312fd9582847 100644 --- a/Include/cpython/fileutils.h +++ b/Include/cpython/fileutils.h @@ -95,10 +95,6 @@ PyAPI_FUNC(FILE *) _Py_wfopen( const wchar_t *path, const wchar_t *mode); -PyAPI_FUNC(FILE*) _Py_fopen( - const char *pathname, - const char *mode); - PyAPI_FUNC(FILE*) _Py_fopen_obj( PyObject *path, const char *mode); diff --git a/Misc/NEWS.d/next/C API/2020-12-09-00-35-25.bpo-32381.Je08Ny.rst b/Misc/NEWS.d/next/C API/2020-12-09-00-35-25.bpo-32381.Je08Ny.rst new file mode 100644 index 000000000000..ded75fa54a42 --- /dev/null +++ b/Misc/NEWS.d/next/C API/2020-12-09-00-35-25.bpo-32381.Je08Ny.rst @@ -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. diff --git a/Python/fileutils.c b/Python/fileutils.c index ac3828211742..8dc90fbe2b2e 100644 --- a/Python/fileutils.c +++ b/Python/fileutils.c @@ -1455,33 +1455,6 @@ _Py_wfopen(const wchar_t *path, const wchar_t *mode) 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 encoding and call fopen() otherwise.