Demonstrate and fix [ 783882 ] os.lstat crashes with Unicode filename.

Will also check in on the 2.3 branch.
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 @@
 # 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 @@
 	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