From 2f4fef955c0e6bb32e0d6c9514fe612171484839 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 26 Nov 2015 12:12:52 +0100 Subject: Fix creating relative native symlinks in top-level directories * path.cc (symlink_native): Fix index when looking for colon in path. Signed-off-by: Corinna Vinschen --- winsup/cygwin/ChangeLog | 4 ++++ winsup/cygwin/path.cc | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 689411d..0183d82 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2015-11-26 Corinna Vinschen + + * path.cc (symlink_native): Fix index when looking for colon in path. + 2015-11-21 Corinna Vinschen * nlsfuncs.cc (setlocaleinfo): New macro calling __setlocaleinfo. diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 0c0a211..ce17c08 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -1668,7 +1668,7 @@ symlink_native (const char *oldpath, path_conv &win32_newpath) prefix strings. We start counting behind the \\?\ for speed. */ int num = cnt_bs (win32_oldpath.get_nt_native_path ()->Buffer + 4, c_old); if (num < 1 /* locale drive. */ - || (win32_oldpath.get_nt_native_path ()->Buffer[6] != L':' + || (win32_oldpath.get_nt_native_path ()->Buffer[5] != L':' && num < 3)) /* UNC path. */ { /* 3a. No valid common path prefix: Create absolute symlink. */ -- cgit v1.1