diff options
author | Victor Stinner <victor.stinner@haypocalc.com> | 2011-12-18 20:47:30 +0100 |
---|---|---|
committer | Victor Stinner <victor.stinner@haypocalc.com> | 2011-12-18 20:47:30 +0100 |
commit | 219d85b51cf4eed90b0cd74706d6b55b3753c604 (patch) | |
tree | 1ecd32e1d0d4e2c281937474f6ee19eb6795f176 /Python/fileutils.c | |
parent | 217f843e90b0ccdc104ea9db5bb07c71661a0a07 (diff) | |
download | cpython-219d85b51cf4eed90b0cd74706d6b55b3753c604.tar.gz |
import.c now catchs _Py_stat() exceptions
_Py_stat() now returns -2 if an exception was raised.
Diffstat (limited to 'Python/fileutils.c')
-rw-r--r-- | Python/fileutils.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Python/fileutils.c b/Python/fileutils.c index 0aad2200fb..8c049e02af 100644 --- a/Python/fileutils.c +++ b/Python/fileutils.c @@ -240,8 +240,8 @@ _Py_wstat(const wchar_t* path, struct stat *buf) /* Call _wstat() on Windows, or encode the path to the filesystem encoding and call stat() otherwise. Only fill st_mode attribute on Windows. - Return 0 on success, -1 on _wstat() / stat() error or (if PyErr_Occurred()) - unicode error. */ + Return 0 on success, -1 on _wstat() / stat() error, -2 if an exception was + raised. */ int _Py_stat(PyObject *path, struct stat *statbuf) @@ -253,7 +253,7 @@ _Py_stat(PyObject *path, struct stat *statbuf) wpath = PyUnicode_AsUnicode(path); if (wpath == NULL) - return -1; + return -2; err = _wstat(wpath, &wstatbuf); if (!err) statbuf->st_mode = wstatbuf.st_mode; @@ -262,7 +262,7 @@ _Py_stat(PyObject *path, struct stat *statbuf) int ret; PyObject *bytes = PyUnicode_EncodeFSDefault(path); if (bytes == NULL) - return -1; + return -2; ret = stat(PyBytes_AS_STRING(bytes), statbuf); Py_DECREF(bytes); return ret; |