diff options
Diffstat (limited to 'Python/pathconfig.c')
-rw-r--r-- | Python/pathconfig.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/Python/pathconfig.c b/Python/pathconfig.c index e987df1..1f6177f 100644 --- a/Python/pathconfig.c +++ b/Python/pathconfig.c @@ -283,7 +283,8 @@ core_config_init_module_search_paths(_PyCoreConfig *config, _PyInitError -_PyCoreConfig_InitPathConfig(_PyCoreConfig *config) +_PyCoreConfig_InitPathConfig(_PyCoreConfig *config, + int *isolated, int *no_site_import) { _PyPathConfig path_config = _PyPathConfig_INIT; _PyInitError err; @@ -344,6 +345,13 @@ _PyCoreConfig_InitPathConfig(_PyCoreConfig *config) } } + if (path_config.isolated != -1 && isolated != NULL) { + *isolated = path_config.isolated; + } + if (path_config.no_site_import != -1 && no_site_import != NULL) { + *no_site_import = path_config.no_site_import; + } + _PyPathConfig_Clear(&path_config); return _Py_INIT_OK(); @@ -365,30 +373,25 @@ pathconfig_global_init(void) } _PyInitError err; - _PyPathConfig path_config = _PyPathConfig_INIT; _PyCoreConfig config = _PyCoreConfig_INIT; - err = _PyCoreConfig_Read(&config); + /* Py_IsolatedFlag and Py_NoSiteFlag are left unchanged: pass NULL. + _PyCoreConfig_InitPathConfig() will be called later and will set + these flags. */ + err = _PyCoreConfig_Read(&config, NULL, NULL); if (_Py_INIT_FAILED(err)) { goto error; } - err = _PyPathConfig_Calculate(&path_config, &config); + err = _PyCoreConfig_SetPathConfig(&config); if (_Py_INIT_FAILED(err)) { goto error; } - err = _PyPathConfig_SetGlobal(&path_config); - if (_Py_INIT_FAILED(err)) { - goto error; - } - - _PyPathConfig_Clear(&path_config); _PyCoreConfig_Clear(&config); return; error: - _PyPathConfig_Clear(&path_config); _PyCoreConfig_Clear(&config); _Py_FatalInitError(err); } |