diff options
author | Hirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp> | 2009-01-01 16:03:45 +0000 |
---|---|---|
committer | Hirokazu Yamamoto <ocean-city@m2.ccsnet.ne.jp> | 2009-01-01 16:03:45 +0000 |
commit | 0f22d69cf6cb5e1bcf7aab4a81836c466a88ec86 (patch) | |
tree | acc9f24c5582801ba63f5b56abe0a00aad7d9b3b | |
parent | 646d9a20b99c4c285ea09064cb151e5e2f24c86c (diff) | |
download | cpython-git-0f22d69cf6cb5e1bcf7aab4a81836c466a88ec86.tar.gz |
Merged revisions 68134 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r68134 | hirokazu.yamamoto | 2009-01-02 00:45:39 +0900 | 2 lines
Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open
file with `str' filename on Windows.
........
-rw-r--r-- | Misc/NEWS | 3 | ||||
-rw-r--r-- | Modules/_fileio.c | 7 |
2 files changed, 7 insertions, 3 deletions
@@ -12,6 +12,9 @@ What's New in Python 3.1 alpha 0 Core and Builtins ----------------- +- Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open + file with `str' filename on Windows. + - Issue #3680: Reference cycles created through a dict, set or deque iterator did not get collected. diff --git a/Modules/_fileio.c b/Modules/_fileio.c index c36a5de1c9..8579e4e60b 100644 --- a/Modules/_fileio.c +++ b/Modules/_fileio.c @@ -284,10 +284,11 @@ fileio_init(PyObject *oself, PyObject *args, PyObject *kwds) Py_END_ALLOW_THREADS if (self->fd < 0) { #ifdef MS_WINDOWS - PyErr_SetFromErrnoWithUnicodeFilename(PyExc_IOError, widename); -#else - PyErr_SetFromErrnoWithFilename(PyExc_IOError, name); + if (widename != NULL) + PyErr_SetFromErrnoWithUnicodeFilename(PyExc_IOError, widename); + else #endif + PyErr_SetFromErrnoWithFilename(PyExc_IOError, name); goto error; } if(dircheck(self, name) < 0) |