summaryrefslogtreecommitdiff
path: root/Python/initconfig.c
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2019-10-01 10:56:37 +0200
committerGitHub <noreply@github.com>2019-10-01 10:56:37 +0200
commit3c30a76f3d3c0dcc1fb4de097fa4a3a4c92c0b0b (patch)
treebb73b56814d30967e67cc61eb8b66cab83477c3a /Python/initconfig.c
parent94e165096fd65e8237e60de570fb609604ab94c9 (diff)
downloadcpython-git-3c30a76f3d3c0dcc1fb4de097fa4a3a4c92c0b0b.tar.gz
bpo-38304: Remove PyConfig.struct_size (GH-16500) (GH-16508)
For now, we'll rely on the fact that the config structures aren't covered by the stable ABI. We may revisit this in the future if we further explore the idea of offering a stable embedding API. (cherry picked from commit bdace21b769998396d0ccc8da99a8ca9b507bfdf)
Diffstat (limited to 'Python/initconfig.c')
-rw-r--r--Python/initconfig.c38
1 files changed, 0 insertions, 38 deletions
diff --git a/Python/initconfig.c b/Python/initconfig.c
index dec4bf2e4d..107429c7ec 100644
--- a/Python/initconfig.c
+++ b/Python/initconfig.c
@@ -529,17 +529,6 @@ Py_GetArgcArgv(int *argc, wchar_t ***argv)
: _PyStatus_NO_MEMORY())
-static PyStatus
-config_check_struct_size(const PyConfig *config)
-{
- if (config->struct_size != sizeof(PyConfig)) {
- return _PyStatus_ERR("unsupported PyConfig structure size "
- "(Python version mismatch?)");
- }
- return _PyStatus_OK();
-}
-
-
/* Free memory allocated in config, but don't clear all attributes */
void
PyConfig_Clear(PyConfig *config)
@@ -583,15 +572,7 @@ PyConfig_Clear(PyConfig *config)
PyStatus
_PyConfig_InitCompatConfig(PyConfig *config)
{
- size_t struct_size = config->struct_size;
memset(config, 0, sizeof(*config));
- config->struct_size = struct_size;
-
- PyStatus status = config_check_struct_size(config);
- if (_PyStatus_EXCEPTION(status)) {
- _PyStatus_UPDATE_FUNC(status);
- return status;
- }
config->_config_init = (int)_PyConfig_INIT_COMPAT;
config->isolated = -1;
@@ -775,18 +756,6 @@ _PyConfig_Copy(PyConfig *config, const PyConfig *config2)
{
PyStatus status;
- status = config_check_struct_size(config);
- if (_PyStatus_EXCEPTION(status)) {
- _PyStatus_UPDATE_FUNC(status);
- return status;
- }
-
- status = config_check_struct_size(config2);
- if (_PyStatus_EXCEPTION(status)) {
- _PyStatus_UPDATE_FUNC(status);
- return status;
- }
-
PyConfig_Clear(config);
#define COPY_ATTR(ATTR) config->ATTR = config2->ATTR
@@ -2280,7 +2249,6 @@ core_read_precmdline(PyConfig *config, _PyPreCmdline *precmdline)
}
PyPreConfig preconfig;
- preconfig.struct_size = sizeof(PyPreConfig);
status = _PyPreConfig_InitFromPreConfig(&preconfig, &_PyRuntime.preconfig);
if (_PyStatus_EXCEPTION(status)) {
@@ -2475,12 +2443,6 @@ PyConfig_Read(PyConfig *config)
PyStatus status;
PyWideStringList orig_argv = _PyWideStringList_INIT;
- status = config_check_struct_size(config);
- if (_PyStatus_EXCEPTION(status)) {
- _PyStatus_UPDATE_FUNC(status);
- return status;
- }
-
status = _Py_PreInitializeFromConfig(config, NULL);
if (_PyStatus_EXCEPTION(status)) {
return status;