aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2018-11-07 00:44:03 +0100
committerGitHub <noreply@github.com>2018-11-07 00:44:03 +0100
commit9fc57a384825530635ef5ec093a31d864ea14f7c (patch)
treeb081652318026bc437ddbbebff9ad2e59da5f454
parentbpo-17560: Too small type for struct.pack/unpack in mutliprocessing.Connectio... (diff)
downloadcpython-9fc57a384825530635ef5ec093a31d864ea14f7c.tar.gz
cpython-9fc57a384825530635ef5ec093a31d864ea14f7c.tar.bz2
cpython-9fc57a384825530635ef5ec093a31d864ea14f7c.zip
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.
-rw-r--r--Include/fileutils.h59
-rw-r--r--Include/internal/pycore_fileutils.h36
-rw-r--r--Modules/getpath.c1
-rw-r--r--Objects/unicodeobject.c1
-rw-r--r--Python/coreconfig.c1
-rw-r--r--Python/fileutils.c1
-rw-r--r--Python/pathconfig.c1
7 files changed, 54 insertions, 46 deletions
diff --git a/Include/fileutils.h b/Include/fileutils.h
index 232d9664cdd..fdd60fffcd5 100644
--- a/Include/fileutils.h
+++ b/Include/fileutils.h
@@ -1,28 +1,9 @@
#ifndef Py_FILEUTILS_H
#define Py_FILEUTILS_H
-
#ifdef __cplusplus
extern "C" {
#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
PyAPI_FUNC(wchar_t *) Py_DecodeLocale(
const char *arg,
@@ -37,30 +18,22 @@ PyAPI_FUNC(char*) _Py_EncodeLocaleRaw(
size_t *error_pos);
#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(
- const char *arg,
- Py_ssize_t arglen);
-#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);
-#if !defined(Py_LIMITED_API) || Py_LIMITED_API+0 >= 0x03080000
PyAPI_FUNC(int) _Py_DecodeLocaleEx(
const char *arg,
wchar_t **wstr,
@@ -204,13 +177,7 @@ PyAPI_FUNC(int) _Py_GetLocaleconvNumeric(
#endif /* Py_LIMITED_API */
-
-#ifdef Py_BUILD_CORE
-PyAPI_FUNC(int) _Py_GetForceASCII(void);
-#endif
-
#ifdef __cplusplus
}
#endif
-
#endif /* !Py_FILEUTILS_H */
diff --git a/Include/internal/pycore_fileutils.h b/Include/internal/pycore_fileutils.h
new file mode 100644
index 00000000000..d577e099d1f
--- /dev/null
+++ b/Include/internal/pycore_fileutils.h
@@ -0,0 +1,36 @@
+#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 */
diff --git a/Modules/getpath.c b/Modules/getpath.c
index 0e210710ecf..6b443f62b05 100644
--- a/Modules/getpath.c
+++ b/Modules/getpath.c
@@ -2,6 +2,7 @@
#include "Python.h"
#include "osdefs.h"
+#include "pycore_fileutils.h"
#include "pycore_pathconfig.h"
#include "pycore_state.h"
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 3692da64122..5338781edc2 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -40,6 +40,7 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#define PY_SSIZE_T_CLEAN
#include "Python.h"
+#include "pycore_fileutils.h"
#include "pycore_state.h"
#include "ucnhash.h"
#include "bytes_methods.h"
diff --git a/Python/coreconfig.c b/Python/coreconfig.c
index b6fc33c3c96..c81cd8bab77 100644
--- a/Python/coreconfig.c
+++ b/Python/coreconfig.c
@@ -1,4 +1,5 @@
#include "Python.h"
+#include "pycore_fileutils.h"
#include "pycore_lifecycle.h"
#include "pycore_mem.h"
#include "pycore_pathconfig.h"
diff --git a/Python/fileutils.c b/Python/fileutils.c
index 2c4061e2692..c9a8e58dd12 100644
--- a/Python/fileutils.c
+++ b/Python/fileutils.c
@@ -1,4 +1,5 @@
#include "Python.h"
+#include "pycore_fileutils.h"
#include "osdefs.h"
#include <locale.h>
diff --git a/Python/pathconfig.c b/Python/pathconfig.c
index f8bcc2886a1..2d8b417d31f 100644
--- a/Python/pathconfig.c
+++ b/Python/pathconfig.c
@@ -3,6 +3,7 @@
#include "Python.h"
#include "osdefs.h"
#include "pycore_mem.h"
+#include "pycore_fileutils.h"
#include "pycore_pathconfig.h"
#include "pycore_state.h"
#include <wchar.h>