From 7edd0a9b21d28fceed4594332b72e794242ce0e0 Mon Sep 17 00:00:00 2001 From: Mark Hammond Date: Wed, 6 Aug 2003 02:46:58 +0000 Subject: Demonstrate and fix [ 783882 ] os.lstat crashes with Unicode filename. Will also check in on the 2.3 branch. --- Lib/test/test_unicode_file.py | 2 ++ Modules/posixmodule.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Lib/test/test_unicode_file.py b/Lib/test/test_unicode_file.py index 23fe1f4..b8b1848 100644 --- a/Lib/test/test_unicode_file.py +++ b/Lib/test/test_unicode_file.py @@ -25,6 +25,8 @@ f.close() # Test stat and chmod if os.stat(TESTFN_ENCODED) != os.stat(TESTFN_UNICODE): print "os.stat() did not agree on the 2 filenames" +if os.lstat(TESTFN_ENCODED) != os.lstat(TESTFN_UNICODE): + print "os.lstat() did not agree on the 2 filenames" os.chmod(TESTFN_ENCODED, 0777) os.chmod(TESTFN_UNICODE, 0777) diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 43af766..b8bda3b 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -4607,7 +4607,7 @@ posix_lstat(PyObject *self, PyObject *args) return posix_do_stat(self, args, "et:lstat", lstat, NULL, NULL); #else /* !HAVE_LSTAT */ #ifdef MS_WINDOWS - return posix_do_stat(self, args, "et:lstat", STAT, "u:lstat", _wstati64); + return posix_do_stat(self, args, "et:lstat", STAT, "U:lstat", _wstati64); #else return posix_do_stat(self, args, "et:lstat", STAT, NULL, NULL); #endif -- cgit v0.12