From 441b10cf2855955c86565f8d59e72c2efc0f0a57 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Sat, 28 Sep 2019 04:28:35 +0200 Subject: bpo-38304: Add PyConfig.struct_size (GH-16451) Add a new struct_size field to PyPreConfig and PyConfig structures to allow to modify these structures in the future without breaking the backward compatibility. * Replace private _config_version field with public struct_size field in PyPreConfig and PyConfig. * Public PyPreConfig_InitIsolatedConfig() and PyPreConfig_InitPythonConfig() return type becomes PyStatus, instead of void. * Internal _PyConfig_InitCompatConfig(), _PyPreConfig_InitCompatConfig(), _PyPreConfig_InitFromConfig(), _PyPreConfig_InitFromPreConfig() return type becomes PyStatus, instead of void. * Remove _Py_CONFIG_VERSION * Update the Initialization Configuration documentation. --- Python/pathconfig.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Python/pathconfig.c') diff --git a/Python/pathconfig.c b/Python/pathconfig.c index 8126145328..6886ab7c42 100644 --- a/Python/pathconfig.c +++ b/Python/pathconfig.c @@ -434,7 +434,12 @@ pathconfig_global_read(_PyPathConfig *pathconfig) { PyStatus status; PyConfig config; - _PyConfig_InitCompatConfig(&config); + config.struct_size = sizeof(PyConfig); + + status = _PyConfig_InitCompatConfig(&config); + if (_PyStatus_EXCEPTION(status)) { + goto done; + } /* Call _PyConfig_InitPathConfig() */ status = PyConfig_Read(&config); -- cgit v1.2.1