From 0c50b8c0b8274d54d6b71ed7bd21057d3642f138 Mon Sep 17 00:00:00 2001 From: Eric Snow Date: Tue, 28 Sep 2021 12:18:28 -0600 Subject: bpo-45211: Remember the stdlib dir during startup. (gh-28586) During runtime startup we figure out the stdlib dir but currently throw that information away. This change preserves it and exposes it via PyConfig.stdlib_dir, _Py_GetStdlibDir(), and sys._stdlib_dir. https://bugs.python.org/issue45211 --- Modules/getpath.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Modules/getpath.c') diff --git a/Modules/getpath.c b/Modules/getpath.c index de1c6e3fbb..56775e9cb4 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -1492,6 +1492,16 @@ calculate_path(PyCalculatePath *calculate, _PyPathConfig *pathconfig) } } + if (pathconfig->stdlib_dir == NULL) { + if (calculate->prefix_found) { + /* This must be done *before* calculate_set_prefix() is called. */ + pathconfig->stdlib_dir = _PyMem_RawWcsdup(calculate->prefix); + if (pathconfig->stdlib_dir == NULL) { + return _PyStatus_NO_MEMORY(); + } + } + } + if (pathconfig->prefix == NULL) { status = calculate_set_prefix(calculate, pathconfig); if (_PyStatus_EXCEPTION(status)) { -- cgit v1.2.1