summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-11-23 00:49:45 (GMT)
committerGitHub <noreply@github.com>2017-11-23 00:49:45 (GMT)
commite32e79f7d8216b78ac9e61bb1f2eee693108d4ee (patch)
treef37f8a85b01f24f9f368dbec764ef38fee0229c2 /Modules
parent0784a2e5b174d2dbf7b144d480559e650c5cf64c (diff)
downloadcpython-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.c18
-rw-r--r--Modules/main.c18
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;