Commit 9fc57a38 authored by Victor Stinner's avatar Victor Stinner Committed by GitHub

bpo-35081: Add pycore_fileutils.h (GH-10371)

Move Py_BUILD_CORE code from Include/fileutils.h to a new
Include/internal/pycore_fileutils.h file.
parent bccacd19
#ifndef Py_FILEUTILS_H #ifndef Py_FILEUTILS_H
#define Py_FILEUTILS_H #define Py_FILEUTILS_H
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03080000
typedef enum {
_Py_ERROR_UNKNOWN=0,
_Py_ERROR_STRICT,
_Py_ERROR_SURROGATEESCAPE,
_Py_ERROR_REPLACE,
_Py_ERROR_IGNORE,
_Py_ERROR_BACKSLASHREPLACE,
_Py_ERROR_SURROGATEPASS,
_Py_ERROR_XMLCHARREFREPLACE,
_Py_ERROR_OTHER
} _Py_error_handler;
PyAPI_FUNC(_Py_error_handler) _Py_GetErrorHandler(const char *errors);
#endif
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000 #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03050000
PyAPI_FUNC(wchar_t *) Py_DecodeLocale( PyAPI_FUNC(wchar_t *) Py_DecodeLocale(
const char *arg, const char *arg,
...@@ -37,30 +18,22 @@ PyAPI_FUNC(char*) _Py_EncodeLocaleRaw( ...@@ -37,30 +18,22 @@ PyAPI_FUNC(char*) _Py_EncodeLocaleRaw(
size_t *error_pos); size_t *error_pos);
#endif #endif
#ifdef Py_BUILD_CORE
PyAPI_FUNC(int) _Py_DecodeUTF8Ex(
const char *arg,
Py_ssize_t arglen,
wchar_t **wstr,
size_t *wlen,
const char **reason,
_Py_error_handler errors);
PyAPI_FUNC(int) _Py_EncodeUTF8Ex(
const wchar_t *text,
char **str,
size_t *error_pos,
const char **reason,
int raw_malloc,
_Py_error_handler errors);
PyAPI_FUNC(wchar_t*) _Py_DecodeUTF8_surrogateescape( #if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03080000
const char *arg, typedef enum {
Py_ssize_t arglen); _Py_ERROR_UNKNOWN=0,
#endif _Py_ERROR_STRICT,
_Py_ERROR_SURROGATEESCAPE,
_Py_ERROR_REPLACE,
_Py_ERROR_IGNORE,
_Py_ERROR_BACKSLASHREPLACE,
_Py_ERROR_SURROGATEPASS,
_Py_ERROR_XMLCHARREFREPLACE,
_Py_ERROR_OTHER
} _Py_error_handler;
PyAPI_FUNC(_Py_error_handler) _Py_GetErrorHandler(const char *errors);
#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03080000
PyAPI_FUNC(int) _Py_DecodeLocaleEx( PyAPI_FUNC(int) _Py_DecodeLocaleEx(
const char *arg, const char *arg,
wchar_t **wstr, wchar_t **wstr,
...@@ -204,13 +177,7 @@ PyAPI_FUNC(int) _Py_GetLocaleconvNumeric( ...@@ -204,13 +177,7 @@ PyAPI_FUNC(int) _Py_GetLocaleconvNumeric(
#endif /* Py_LIMITED_API */ #endif /* Py_LIMITED_API */
#ifdef Py_BUILD_CORE
PyAPI_FUNC(int) _Py_GetForceASCII(void);
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* !Py_FILEUTILS_H */ #endif /* !Py_FILEUTILS_H */
#ifndef Py_INTERNAL_FILEUTILS_H
#define Py_INTERNAL_FILEUTILS_H
#ifdef __cplusplus
extern "C" {
#endif
#ifndef Py_BUILD_CORE
# error "Py_BUILD_CORE must be defined to include this header"
#endif
PyAPI_FUNC(int) _Py_DecodeUTF8Ex(
const char *arg,
Py_ssize_t arglen,
wchar_t **wstr,
size_t *wlen,
const char **reason,
_Py_error_handler errors);
PyAPI_FUNC(int) _Py_EncodeUTF8Ex(
const wchar_t *text,
char **str,
size_t *error_pos,
const char **reason,
int raw_malloc,
_Py_error_handler errors);
PyAPI_FUNC(wchar_t*) _Py_DecodeUTF8_surrogateescape(
const char *arg,
Py_ssize_t arglen);
PyAPI_FUNC(int) _Py_GetForceASCII(void);
#ifdef __cplusplus
}
#endif
#endif /* !Py_INTERNAL_FILEUTILS_H */
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include "Python.h" #include "Python.h"
#include "osdefs.h" #include "osdefs.h"
#include "pycore_fileutils.h"
#include "pycore_pathconfig.h" #include "pycore_pathconfig.h"
#include "pycore_state.h" #include "pycore_state.h"
......
...@@ -40,6 +40,7 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ...@@ -40,6 +40,7 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#define PY_SSIZE_T_CLEAN #define PY_SSIZE_T_CLEAN
#include "Python.h" #include "Python.h"
#include "pycore_fileutils.h"
#include "pycore_state.h" #include "pycore_state.h"
#include "ucnhash.h" #include "ucnhash.h"
#include "bytes_methods.h" #include "bytes_methods.h"
......
#include "Python.h" #include "Python.h"
#include "pycore_fileutils.h"
#include "pycore_lifecycle.h" #include "pycore_lifecycle.h"
#include "pycore_mem.h" #include "pycore_mem.h"
#include "pycore_pathconfig.h" #include "pycore_pathconfig.h"
......
#include "Python.h" #include "Python.h"
#include "pycore_fileutils.h"
#include "osdefs.h" #include "osdefs.h"
#include <locale.h> #include <locale.h>
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
#include "Python.h" #include "Python.h"
#include "osdefs.h" #include "osdefs.h"
#include "pycore_mem.h" #include "pycore_mem.h"
#include "pycore_fileutils.h"
#include "pycore_pathconfig.h" #include "pycore_pathconfig.h"
#include "pycore_state.h" #include "pycore_state.h"
#include <wchar.h> #include <wchar.h>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment