summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2000-06-08 13:56:28 +0000
committerCorinna Vinschen <corinna@vinschen.de>2000-06-08 13:56:28 +0000
commitb8a7c23a2a0b89aa703a457c285785d2529af666 (patch)
tree756c37cc32873a023e89d4e72317fe9af37a6474 /winsup/cygwin/fhandler.cc
parent95bdb4966fc28a6acd32c8b11f3d34e5be5a988c (diff)
downloadcygnal-b8a7c23a2a0b89aa703a457c285785d2529af666.tar.gz
cygnal-b8a7c23a2a0b89aa703a457c285785d2529af666.tar.bz2
cygnal-b8a7c23a2a0b89aa703a457c285785d2529af666.zip
* fhandler.cc (fhandler_disk_file::open): Check for directory
to set O_DIROPEN on directories anyway.
Diffstat (limited to 'winsup/cygwin/fhandler.cc')
-rw-r--r--winsup/cygwin/fhandler.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc
index 609d1023b..17f2db194 100644
--- a/winsup/cygwin/fhandler.cc
+++ b/winsup/cygwin/fhandler.cc
@@ -1181,6 +1181,10 @@ fhandler_disk_file::open (path_conv& real_path, int flags, mode_t mode)
set_has_acls (real_path.has_acls ());
+ if (real_path.file_attributes () != (DWORD)-1
+ && (real_path.file_attributes () & FILE_ATTRIBUTE_DIRECTORY))
+ flags |= O_DIROPEN;
+
int res = this->fhandler_base::open (flags, mode);
if (!res)