summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PC/getpathp.c11
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';
}