Commit 83c3b544 authored by Martin v. Löwis's avatar Martin v. Löwis

Patch #790000: Allow os.access to handle Unicode file name.

parent 4c025321
......@@ -100,6 +100,7 @@ class UnicodeFileTests(unittest.TestCase):
f.write((filename + '\n').encode("utf-8"))
f.close()
print repr(filename)
os.access(filename,os.R_OK)
os.remove(filename)
os.chdir(oldwd)
os.rmdir(dirname)
......
......@@ -1027,6 +1027,22 @@ posix_access(PyObject *self, PyObject *args)
int mode;
int res;
#ifdef Py_WIN_WIDE_FILENAMES
if (unicode_file_names()) {
PyUnicodeObject *po;
if (PyArg_ParseTuple(args, "Ui:access", &po, &mode)) {
Py_BEGIN_ALLOW_THREADS
/* PyUnicode_AS_UNICODE OK without thread lock as
it is a simple dereference. */
res = _waccess(PyUnicode_AS_UNICODE(po), mode);
Py_END_ALLOW_THREADS
return(PyBool_FromLong(res == 0));
}
/* Drop the argument parsing error as narrow strings
are also valid. */
PyErr_Clear();
}
#endif
if (!PyArg_ParseTuple(args, "si:access", &path, &mode))
return NULL;
Py_BEGIN_ALLOW_THREADS
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment