Mark Hammond to the rescue:
Checkin 2.131 of posixmodule.c changed os.stat on Windows, so that
"/bin/" type notation (trailing backslash) would work on Windows to
be consistent with Unix.
However, the patch broke the simple case of: os.stat("\\")
This did work in 1.5.2, and obviously should!
This patch addresses this, and restores the correct behaviour.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index b62cce0..1ca3826 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -567,10 +567,11 @@
}
if ((pathlen > 0) && (path[pathlen-1] == '\\' || path[pathlen-1] == '/')) {
- /* exception for drive root */
- if (!((pathlen == 3) &&
+ /* exception for specific or current drive root */
+ if (!((pathlen == 1) ||
+ ((pathlen == 3) &&
(path[1] == ':') &&
- (path[2] == '\\' || path[2] == '/')))
+ (path[2] == '\\' || path[2] == '/'))))
{
strncpy(pathcopy, path, pathlen);
pathcopy[pathlen-1] = '\0'; /* nuke the trailing backslash */