summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2010-02-15 13:29:02 +0000
committerCorinna Vinschen <corinna@vinschen.de>2010-02-15 13:29:02 +0000
commit66f2d8f13e254646e8d8fd416751d78bd6c88075 (patch)
treea45fb9f1bdcd3dd8c0270a52019a23308c8efb53
parent93579594b7e667e952f9b5c4b1e1522b54bf0f23 (diff)
downloadcygnal-66f2d8f13e254646e8d8fd416751d78bd6c88075.tar.gz
cygnal-66f2d8f13e254646e8d8fd416751d78bd6c88075.tar.bz2
cygnal-66f2d8f13e254646e8d8fd416751d78bd6c88075.zip
* path.cc (path_conv::check): Treat native DOS paths as "noacl".
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/path.cc12
2 files changed, 11 insertions, 5 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 7bc30b912..e99507da9 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,9 @@
2010-02-15 Corinna Vinschen <corinna@vinschen.de>
+ * path.cc (path_conv::check): Treat native DOS paths as "noacl".
+
+2010-02-15 Corinna Vinschen <corinna@vinschen.de>
+
* mount.cc (mount_info::conv_to_win32_path): Set UNC path flags to
cygdrive prefix path flags.
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index f1e203047..82c96c7e6 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -828,12 +828,14 @@ is_virtual_symlink:
{
fileattr = sym.fileattr;
path_flags = sym.pflags;
- /* If the OS is caseinsensitive or the FS is caseinsensitive or
- the incoming path was given in DOS notation, don't handle
- path casesensitive. */
- if (cygwin_shared->obcaseinsensitive || fs.caseinsensitive ()
- || is_msdos)
+ /* If the OS is caseinsensitive or the FS is caseinsensitive,
+ don't handle path casesensitive. */
+ if (cygwin_shared->obcaseinsensitive || fs.caseinsensitive ())
path_flags |= PATH_NOPOSIX;
+ /* If the incoming path was given in DOS notation, always treat
+ it as caseinsensitive,noacl path. */
+ else if (is_msdos)
+ path_flags |= PATH_NOPOSIX | PATH_NOACL;
caseinsensitive = (path_flags & PATH_NOPOSIX)
? OBJ_CASE_INSENSITIVE : 0;
}