summaryrefslogtreecommitdiffstats
path: root/Modules/main.c
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-08-13 22:25:01 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2010-08-13 22:25:01 (GMT)
commite9b428f9977f8733e6b0d2c321c093779f95080f (patch)
tree2583b8f93efed20d9d849cbd1b001e4282e32f00 /Modules/main.c
parent09c449c7de0fea077ceaee5cb04017d6994341e7 (diff)
downloadcpython-e9b428f9977f8733e6b0d2c321c093779f95080f.zip
cpython-e9b428f9977f8733e6b0d2c321c093779f95080f.tar.gz
cpython-e9b428f9977f8733e6b0d2c321c093779f95080f.tar.bz2
Reimplement addbuilddir() in C inside getpath.c, so as to execute it
at interpreter startup before importing any non-builtin modules. Should fix #9589.
Diffstat (limited to 'Modules/main.c')
-rw-r--r--Modules/main.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/Modules/main.c b/Modules/main.c
index 7929b05..d605bab 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -101,10 +101,10 @@ PYTHONCASEOK : ignore case in 'import' statements (Windows).\n\
PYTHONIOENCODING: Encoding[:errors] used for stdin/stdout/stderr.\n\
";
-#ifndef MS_WINDOWS
-static FILE*
-_wfopen(const wchar_t *path, const wchar_t *mode)
+FILE *
+_Py_wfopen(const wchar_t *path, const wchar_t *mode)
{
+#ifndef MS_WINDOWS
char cpath[PATH_MAX];
char cmode[10];
size_t r;
@@ -119,8 +119,10 @@ _wfopen(const wchar_t *path, const wchar_t *mode)
return NULL;
}
return fopen(cpath, cmode);
-}
+#else
+ return _wfopen(path, mode);
#endif
+}
static int
@@ -640,7 +642,7 @@ Py_Main(int argc, wchar_t **argv)
}
if (sts==-1 && filename!=NULL) {
- if ((fp = _wfopen(filename, L"r")) == NULL) {
+ if ((fp = _Py_wfopen(filename, L"r")) == NULL) {
char cfilename[PATH_MAX];
size_t r = wcstombs(cfilename, filename, PATH_MAX);
if (r == PATH_MAX)