diff options
author | Guido van Rossum <guido@python.org> | 1997-08-13 19:55:43 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1997-08-13 19:55:43 (GMT) |
commit | 8f1b6519803ffa7aef45beb58bda654533cb1fa8 (patch) | |
tree | 9193bd17a6f0c7cb820fd53952fb08ee0a80abb8 | |
parent | 0e6ae93894b1383616d436dcfde2ebc1ad05ea4c (diff) | |
download | cpython-8f1b6519803ffa7aef45beb58bda654533cb1fa8.zip cpython-8f1b6519803ffa7aef45beb58bda654533cb1fa8.tar.gz cpython-8f1b6519803ffa7aef45beb58bda654533cb1fa8.tar.bz2 |
Some changes to make it work on NT; add the directory where the binary
lives to the end of the path.
(Still to do: add $PYTHONPATH to the front instead of using it as is;
add the Win32 registry paths as in getpath_nt.c (which can then
retire).)
-rw-r--r-- | PC/getpathp.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/PC/getpathp.c b/PC/getpathp.c index b7d903b..b6279e7 100644 --- a/PC/getpathp.c +++ b/PC/getpathp.c @@ -35,6 +35,10 @@ PERFORMANCE OF THIS SOFTWARE. #include "Python.h" #include "osdefs.h" +#ifdef MS_WIN32 +#include <windows.h> +#endif + #include <sys/types.h> #include <sys/stat.h> #include <string.h> @@ -149,7 +153,6 @@ static void get_progpath() { #ifdef MS_WIN32 -#include <windows.h> if (!GetModuleFileName(NULL, progpath, MAXPATHLEN)) progpath[0] = '\0'; /* failure */ #else @@ -239,6 +242,7 @@ calculate_path() if (*pt == DELIM) bufsz++; /* number of DELIM plus one */ bufsz *= strlen(PYTHONPATH) + strlen(prefix); /* high estimate */ + bufsz += strlen(argv0_path) + 1; module_search_path = buf = malloc(bufsz); @@ -251,7 +255,7 @@ calculate_path() } for (pt = PYTHONPATH; *pt; pt++) { if (!strncmp(pt, ".\\lib", 5) && - ((ch = *(pt + 5)) == '\\' || ch == DELIM || !ch)){ + ((ch = *(pt + 5)) == '\\' || ch == DELIM || !ch)) { pt += 4; for (pt2 = prefix; *pt2; pt2++) *buf++ = *pt2; @@ -259,6 +263,9 @@ calculate_path() else *buf++ = *pt; } + *buf++ = DELIM; + strcpy(buf, argv0_path); + buf += strlen(buf); *buf = '\0'; } |