From 1a9f0d8efded4bf37c864ed572beff28c43c7c77 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 1 May 2019 15:22:52 +0200 Subject: bpo-36763: Add _PyCoreConfig_SetString() (GH-13035) Add 3 new config methods: * _PyCoreConfig_SetString() * _PyCoreConfig_SetWideString() * _PyCoreConfig_SetWideStringFromString() Changes: * _PyCoreConfig_Copy() returns _PyInitError. * Add CONFIG_GET_ENV_DUP(). --- Python/pylifecycle.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'Python/pylifecycle.c') diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c index c874a509aa..afa683b7e8 100644 --- a/Python/pylifecycle.c +++ b/Python/pylifecycle.c @@ -472,6 +472,7 @@ _Py_Initialize_ReconfigureCore(_PyRuntimeState *runtime, PyInterpreterState **interp_p, const _PyCoreConfig *core_config) { + _PyInitError err; PyThreadState *tstate = _PyThreadState_GET(); if (!tstate) { return _Py_INIT_ERR("failed to read thread state"); @@ -485,13 +486,14 @@ _Py_Initialize_ReconfigureCore(_PyRuntimeState *runtime, _PyCoreConfig_Write(core_config, runtime); - if (_PyCoreConfig_Copy(&interp->core_config, core_config) < 0) { - return _Py_INIT_NO_MEMORY(); + err = _PyCoreConfig_Copy(&interp->core_config, core_config); + if (_Py_INIT_FAILED(err)) { + return err; } core_config = &interp->core_config; if (core_config->_install_importlib) { - _PyInitError err = _PyCoreConfig_SetPathConfig(core_config); + err = _PyCoreConfig_SetPathConfig(core_config); if (_Py_INIT_FAILED(err)) { return err; } @@ -545,8 +547,9 @@ pycore_create_interpreter(_PyRuntimeState *runtime, } *interp_p = interp; - if (_PyCoreConfig_Copy(&interp->core_config, core_config) < 0) { - return _Py_INIT_NO_MEMORY(); + _PyInitError err = _PyCoreConfig_Copy(&interp->core_config, core_config); + if (_Py_INIT_FAILED(err)) { + return err; } core_config = &interp->core_config; @@ -804,8 +807,9 @@ pyinit_coreconfig(_PyRuntimeState *runtime, _PyInitError err; if (src_config) { - if (_PyCoreConfig_Copy(config, src_config) < 0) { - return _Py_INIT_NO_MEMORY(); + err = _PyCoreConfig_Copy(config, src_config); + if (_Py_INIT_FAILED(err)) { + return err; } } @@ -1433,8 +1437,9 @@ new_interpreter(PyThreadState **tstate_p) core_config = &main_interp->core_config; } - if (_PyCoreConfig_Copy(&interp->core_config, core_config) < 0) { - return _Py_INIT_NO_MEMORY(); + err = _PyCoreConfig_Copy(&interp->core_config, core_config); + if (_Py_INIT_FAILED(err)) { + return err; } core_config = &interp->core_config; -- cgit v1.2.1