]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Some changes to make it work on NT; add the directory where the binary
authorGuido van Rossum <guido@python.org>
Wed, 13 Aug 1997 19:55:43 +0000 (19:55 +0000)
committerGuido van Rossum <guido@python.org>
Wed, 13 Aug 1997 19:55:43 +0000 (19:55 +0000)
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).)

PC/getpathp.c

index b7d903b33f0bcff172b21e1bb353cd871bf95874..b6279e775ac68b46577abd7b6f2b22b52a197511 100644 (file)
@@ -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';
 }