Convert file names of posix.access according to the file system encoding.

This commit is contained in:
Martin v. Löwis 2005-03-08 09:10:29 +00:00
parent 3e1dd3be49
commit b60ae99601
3 changed files with 6 additions and 1 deletions

View File

@ -44,8 +44,10 @@ class TestUnicodeFiles(unittest.TestCase):
def _do_single(self, filename):
self.failUnless(os.path.exists(filename))
self.failUnless(os.path.isfile(filename))
self.failUnless(os.access(filename, os.R_OK))
self.failUnless(os.path.exists(os.path.abspath(filename)))
self.failUnless(os.path.isfile(os.path.abspath(filename)))
self.failUnless(os.access(os.path.abspath(filename), os.R_OK))
os.chmod(filename, 0777)
os.utime(filename, None)
os.utime(filename, (time.time(), time.time()))

View File

@ -47,6 +47,8 @@ Core and builtins
Extension Modules
-----------------
- os.access now supports Unicode path names on non-Win32 systems.
- Patches #925152, #1118602: Avoid reading after the end of the buffer
in pyexpat.GetInputContext.

View File

@ -1113,7 +1113,8 @@ posix_access(PyObject *self, PyObject *args)
PyErr_Clear();
}
#endif
if (!PyArg_ParseTuple(args, "si:access", &path, &mode))
if (!PyArg_ParseTuple(args, "eti:access",
Py_FileSystemDefaultEncoding, &path, &mode))
return NULL;
Py_BEGIN_ALLOW_THREADS
res = access(path, mode);