summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/path.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/path.cc')
-rw-r--r--winsup/cygwin/path.cc22
1 files changed, 11 insertions, 11 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index d3d560fc1..ae3f6e7ed 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -782,32 +782,32 @@ out:
if (!fs.update (path))
{
fs.root_dir[0] = '\0';
- set_has_acls (false);
- set_has_buggy_open (false);
+ set_has_acls (false); // already implied but...
+ set_has_buggy_open (false); // ditto
}
else
{
set_isdisk ();
debug_printf ("root_dir(%s), this->path(%s), set_has_acls(%d)",
fs.root_dir, this->path, fs.flags & FS_PERSISTENT_ACLS);
- if (!allow_smbntsec && fs.is_remote_drive)
+ if (!(fs.flags & FS_PERSISTENT_ACLS) || (!allow_smbntsec && fs.is_remote_drive))
set_has_acls (false);
else
{
- set_has_acls (fs.flags & FS_PERSISTENT_ACLS);
- if (exec_state () != dont_know_if_executable)
- /* ok */;
- else if (isdir ())
- set_exec (1);
- else if (issymlink () || issocket ()
- || allow_ntsec && wincap.has_security ())
+ set_has_acls (true);
+ if (allow_ntsec && wincap.has_security ())
set_exec (0);
-
}
/* Known file systems with buggy open calls. Further explanation
in fhandler.cc (fhandler_disk_file::open). */
set_has_buggy_open (strcmp (fs.name, "SUNWNFS") == 0);
}
+ if (exec_state () != dont_know_if_executable)
+ /* ok */;
+ else if (isdir ())
+ set_exec (1);
+ else if (issymlink () || issocket ())
+ set_exec (0);
}
if (issocket ())
devn = FH_SOCKET;