diff options
author | Steve Dower <steve.dower@python.org> | 2019-08-21 22:52:42 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-21 22:52:42 (GMT) |
commit | 9eb3d5463976068900e94b860ced7e035885835c (patch) | |
tree | c97aa41b153e67db42ef4b13a9e20bc0747301f9 /Modules/_stat.c | |
parent | c30c869e8dec5eefdee7977943ffa11a8e3c8d75 (diff) | |
download | cpython-9eb3d5463976068900e94b860ced7e035885835c.zip cpython-9eb3d5463976068900e94b860ced7e035885835c.tar.gz cpython-9eb3d5463976068900e94b860ced7e035885835c.tar.bz2 |
bpo-37834: Normalise handling of reparse points on Windows (GH-15370)
bpo-37834: Normalise handling of reparse points on Windows
* ntpath.realpath() and nt.stat() will traverse all supported reparse points (previously was mixed)
* nt.lstat() will let the OS traverse reparse points that are not name surrogates (previously would not traverse any reparse point)
* nt.[l]stat() will only set S_IFLNK for symlinks (previous behaviour)
* nt.readlink() will read destinations for symlinks and junction points only
bpo-1311: os.path.exists('nul') now returns True on Windows
* nt.stat('nul').st_mode is now S_IFCHR (previously was an error)
Diffstat (limited to 'Modules/_stat.c')
-rw-r--r-- | Modules/_stat.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Modules/_stat.c b/Modules/_stat.c index f6cb303..6a3020a 100644 --- a/Modules/_stat.c +++ b/Modules/_stat.c @@ -589,6 +589,13 @@ PyInit__stat(void) if (PyModule_AddIntMacro(m, FILE_ATTRIBUTE_SYSTEM)) return NULL; if (PyModule_AddIntMacro(m, FILE_ATTRIBUTE_TEMPORARY)) return NULL; if (PyModule_AddIntMacro(m, FILE_ATTRIBUTE_VIRTUAL)) return NULL; + + if (PyModule_AddObject(m, "IO_REPARSE_TAG_SYMLINK", + PyLong_FromUnsignedLong(IO_REPARSE_TAG_SYMLINK))) return NULL; + if (PyModule_AddObject(m, "IO_REPARSE_TAG_MOUNT_POINT", + PyLong_FromUnsignedLong(IO_REPARSE_TAG_MOUNT_POINT))) return NULL; + if (PyModule_AddObject(m, "IO_REPARSE_TAG_APPEXECLINK", + PyLong_FromUnsignedLong(IO_REPARSE_TAG_APPEXECLINK))) return NULL; #endif return m; |