summaryrefslogtreecommitdiff
path: root/PC/getpathp.c
diff options
context:
space:
mode:
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>2009-06-09 21:30:01 +0000
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>2009-06-09 21:30:01 +0000
commit16309c457b8a37f729b0239b86719daf7a262f82 (patch)
tree30aa27edbb7b67ab431d7df1dcecc95294f0a3a4 /PC/getpathp.c
parent9fc3bf531643faa03d116ec76f029c0a80ce3797 (diff)
downloadcpython-16309c457b8a37f729b0239b86719daf7a262f82.tar.gz
#5924: on Windows, a large PYTHONPATH (more than 255 chars) was completely ignored.
Will backport to 3.0.
Diffstat (limited to 'PC/getpathp.c')
-rw-r--r--PC/getpathp.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/PC/getpathp.c b/PC/getpathp.c
index 36abbf24ab..212f9425e3 100644
--- a/PC/getpathp.c
+++ b/PC/getpathp.c
@@ -424,8 +424,6 @@ calculate_path(void)
wchar_t *buf;
size_t bufsz;
wchar_t *pythonhome = Py_GetPythonHome();
- char *_envpath = Py_GETENV("PYTHONPATH");
- wchar_t wenvpath[MAXPATHLEN+1];
wchar_t *envpath = NULL;
#ifdef MS_WINDOWS
@@ -434,13 +432,20 @@ calculate_path(void)
wchar_t *userpath = NULL;
wchar_t zip_path[MAXPATHLEN+1];
size_t len;
-#endif
+
+ if (!Py_IgnoreEnvironmentFlag) {
+ envpath = _wgetenv(L"PYTHONPATH");
+ }
+#else
+ char *_envpath = Py_GETENV("PYTHONPATH");
+ wchar_t wenvpath[MAXPATHLEN+1];
if (_envpath) {
size_t r = mbstowcs(wenvpath, _envpath, MAXPATHLEN+1);
envpath = wenvpath;
if (r == (size_t)-1 || r >= MAXPATHLEN)
envpath = NULL;
}
+#endif
get_progpath();
/* progpath guaranteed \0 terminated in MAXPATH+1 bytes. */