diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2010-08-13 22:25:01 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2010-08-13 22:25:01 (GMT) |
commit | e9b428f9977f8733e6b0d2c321c093779f95080f (patch) | |
tree | 2583b8f93efed20d9d849cbd1b001e4282e32f00 /Modules/main.c | |
parent | 09c449c7de0fea077ceaee5cb04017d6994341e7 (diff) | |
download | cpython-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.c | 12 |
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) |