diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2017-11-23 00:49:45 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-23 00:49:45 (GMT) |
commit | e32e79f7d8216b78ac9e61bb1f2eee693108d4ee (patch) | |
tree | f37f8a85b01f24f9f368dbec764ef38fee0229c2 /Modules | |
parent | 0784a2e5b174d2dbf7b144d480559e650c5cf64c (diff) | |
download | cpython-e32e79f7d8216b78ac9e61bb1f2eee693108d4ee.zip cpython-e32e79f7d8216b78ac9e61bb1f2eee693108d4ee.tar.gz cpython-e32e79f7d8216b78ac9e61bb1f2eee693108d4ee.tar.bz2 |
bpo-32030: Move PYTHONPATH to _PyMainInterpreterConfig (#4511)
Move _PyCoreConfig.module_search_path_env to _PyMainInterpreterConfig
structure.
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/getpath.c | 18 | ||||
-rw-r--r-- | Modules/main.c | 18 |
2 files changed, 18 insertions, 18 deletions
diff --git a/Modules/getpath.c b/Modules/getpath.c index ad4a4e5..ead1432 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -456,7 +456,7 @@ search_for_exec_prefix(wchar_t *argv0_path, wchar_t *home, } static void -calculate_path(_PyCoreConfig *core_config) +calculate_path(_PyMainInterpreterConfig *config) { extern wchar_t *Py_GetProgramName(void); @@ -706,9 +706,9 @@ calculate_path(_PyCoreConfig *core_config) bufsz = 0; wchar_t *env_path = NULL; - if (core_config) { - if (core_config->module_search_path_env) { - bufsz += wcslen(core_config->module_search_path_env) + 1; + if (config) { + if (config->module_search_path_env) { + bufsz += wcslen(config->module_search_path_env) + 1; } } else { @@ -752,9 +752,9 @@ calculate_path(_PyCoreConfig *core_config) /* Run-time value of $PYTHONPATH goes first */ buf[0] = '\0'; - if (core_config) { - if (core_config->module_search_path_env) { - wcscpy(buf, core_config->module_search_path_env); + if (config) { + if (config->module_search_path_env) { + wcscpy(buf, config->module_search_path_env); wcscat(buf, delimiter); } } @@ -858,10 +858,10 @@ Py_SetPath(const wchar_t *path) } wchar_t * -_Py_GetPathWithConfig(_PyCoreConfig *core_config) +_Py_GetPathWithConfig(_PyMainInterpreterConfig *config) { if (!module_search_path) { - calculate_path(core_config); + calculate_path(config); } return module_search_path; } diff --git a/Modules/main.c b/Modules/main.c index 3bd93e3..8390af2 100644 --- a/Modules/main.c +++ b/Modules/main.c @@ -389,6 +389,7 @@ typedef struct { /* non-zero is stdin is a TTY or if -i option is used */ int stdin_is_interactive; _PyCoreConfig core_config; + _PyMainInterpreterConfig config; _Py_CommandLineDetails cmdline; PyObject *main_importer_path; /* non-zero if filename, command (-c) or module (-m) is set @@ -409,6 +410,7 @@ typedef struct { {.status = 0, \ .cf = {.cf_flags = 0}, \ .core_config = _PyCoreConfig_INIT, \ + .config = _PyMainInterpreterConfig_INIT, \ .main_importer_path = NULL, \ .run_code = -1, \ .program_name = NULL, \ @@ -442,7 +444,7 @@ pymain_free_impl(_PyMain *pymain) Py_CLEAR(pymain->main_importer_path); PyMem_RawFree(pymain->program_name); - PyMem_RawFree(pymain->core_config.module_search_path_env); + PyMem_RawFree(pymain->config.module_search_path_env); #ifdef __INSURE__ /* Insure++ is a memory analysis tool that aids in discovering @@ -957,20 +959,16 @@ pymain_get_program_name(_PyMain *pymain) static int pymain_init_main_interpreter(_PyMain *pymain) { - _PyMainInterpreterConfig config = _PyMainInterpreterConfig_INIT; _PyInitError err; - /* TODO: Moar config options! */ - config.install_signal_handlers = 1; - /* TODO: Print any exceptions raised by these operations */ - err = _Py_ReadMainInterpreterConfig(&config); + err = _Py_ReadMainInterpreterConfig(&pymain->config); if (_Py_INIT_FAILED(err)) { pymain->err = err; return -1; } - err = _Py_InitializeMainInterpreter(&config); + err = _Py_InitializeMainInterpreter(&pymain->config); if (_Py_INIT_FAILED(err)) { pymain->err = err; return -1; @@ -1387,7 +1385,7 @@ pymain_init_pythonpath(_PyMain *pymain) return -1; } - pymain->core_config.module_search_path_env = path2; + pymain->config.module_search_path_env = path2; #else char *path = pymain_get_env_var("PYTHONPATH"); if (!path) { @@ -1405,7 +1403,7 @@ pymain_init_pythonpath(_PyMain *pymain) } return -1; } - pymain->core_config.module_search_path_env = wpath; + pymain->config.module_search_path_env = wpath; #endif return 0; } @@ -1574,6 +1572,8 @@ pymain_init(_PyMain *pymain) } pymain->core_config._disable_importlib = 0; + /* TODO: Moar config options! */ + pymain->config.install_signal_handlers = 1; orig_argc = pymain->argc; /* For Py_GetArgcArgv() */ orig_argv = pymain->argv; |