From: Victor Stinner Date: Thu, 7 Oct 2010 23:29:18 +0000 (+0000) Subject: copy_absolute() keeps the relative path on _Py_wgetcwd() failure X-Git-Tag: v3.2a3~23 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4f3abb0f091b14e09d257ee4eb40632471177d6d;p=thirdparty%2FPython%2Fcpython.git copy_absolute() keeps the relative path on _Py_wgetcwd() failure .. instead of raising a fatal error. Even if the current directory was deleted, use relative paths may still work (eg. run Python with "../python"). --- diff --git a/Modules/getpath.c b/Modules/getpath.c index ee784dd7f1c1..9e5934d739ed 100644 --- a/Modules/getpath.c +++ b/Modules/getpath.c @@ -236,8 +236,11 @@ copy_absolute(wchar_t *path, wchar_t *p) if (p[0] == SEP) wcscpy(path, p); else { - if (!_Py_wgetcwd(path, MAXPATHLEN)) - Py_FatalError("unable to get the current directory"); + if (!_Py_wgetcwd(path, MAXPATHLEN)) { + /* unable to get the current directory */ + wcscpy(path, p); + return; + } if (p[0] == '.' && p[1] == SEP) p += 2; joinpath(path, p);