mirror of
https://github.com/python/cpython.git
synced 2025-12-31 12:33:28 +00:00
Issue #6011: getpath: decode VPATH env var from the locale encoding
Instead of casting it to wchar_t* without conversion. It fixes a bug if Python is compiled a non-ascii directory, different than the source code directory, with C locale.
This commit is contained in:
parent
ff150f2921
commit
2158231433
1 changed files with 10 additions and 7 deletions
|
|
@ -285,13 +285,16 @@ search_for_prefix(wchar_t *argv0_path, wchar_t *home)
|
|||
joinpath(prefix, L"Modules/Setup");
|
||||
if (isfile(prefix)) {
|
||||
/* Check VPATH to see if argv0_path is in the build directory. */
|
||||
vpath = L"" VPATH;
|
||||
wcscpy(prefix, argv0_path);
|
||||
joinpath(prefix, vpath);
|
||||
joinpath(prefix, L"Lib");
|
||||
joinpath(prefix, LANDMARK);
|
||||
if (ismodule(prefix))
|
||||
return -1;
|
||||
vpath = _Py_char2wchar(VPATH, NULL);
|
||||
if (vpath != NULL) {
|
||||
wcscpy(prefix, argv0_path);
|
||||
joinpath(prefix, vpath);
|
||||
PyMem_Free(vpath);
|
||||
joinpath(prefix, L"Lib");
|
||||
joinpath(prefix, LANDMARK);
|
||||
if (ismodule(prefix))
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Search from argv0_path, until root is found */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue