diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2017-03-14 11:24:48 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2017-03-14 11:24:48 +0300 |
commit | 125852d77b65fe2155d0d5fa97e53fc9e2b29984 (patch) | |
tree | fc849e797f5118b4d7d8bc0f0bd61393844ac786 /winsup/cygwin/path.cc | |
parent | 973f766f6e3f750784ea95de23bb4d1745854d4e (diff) |
Add release message for commit 973f766f6
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup/cygwin/path.cc')
-rw-r--r-- | winsup/cygwin/path.cc | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 16de025b6..b9763c8d2 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -2302,22 +2302,13 @@ symlink_info::check_reparse_point (HANDLE h, bool remote) rp->SymbolicLinkReparseBuffer.SubstituteNameLength); else if (!remote && rp->ReparseTag == IO_REPARSE_TAG_MOUNT_POINT) { - /* Don't handle junctions on remote filesystems as symlinks. This type - of reparse point is handled transparently by the OS so that the - target of the junction is the remote directory it is supposed to - point to. If we handle it as symlink, it will be mistreated as - pointing to a dir on the local system. */ + /* Don't treat junctions as symlink. The return value of -1 is a hint + for the caller to treat this as a volume mount point. */ RtlInitCountedUnicodeString (&subst, (WCHAR *)((char *)rp->MountPointReparseBuffer.PathBuffer + rp->MountPointReparseBuffer.SubstituteNameOffset), rp->MountPointReparseBuffer.SubstituteNameLength); - if (RtlEqualUnicodePathPrefix (&subst, &ro_u_volume, TRUE)) - { - /* Volume mount point. Not treated as symlink. The return - value of -1 is a hint for the caller to treat this as a - volume mount point. */ - return -1; - } + return RtlEqualUnicodePathPrefix (&subst, &ro_u_volume, TRUE) ? -1 : 0; } else { |