summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/fhandler_disk_file.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2001-11-25 03:28:16 +0000
committerChristopher Faylor <me@cgf.cx>2001-11-25 03:28:16 +0000
commitded250563f2d756d91ccab996902ba5b8c47530c (patch)
treef540d63f262752ab9893de2e577e8db46869377f /winsup/cygwin/fhandler_disk_file.cc
parent21e379455ae6ab0f58ba55c5df3498363825ab7e (diff)
downloadcygnal-ded250563f2d756d91ccab996902ba5b8c47530c.tar.gz
cygnal-ded250563f2d756d91ccab996902ba5b8c47530c.tar.bz2
cygnal-ded250563f2d756d91ccab996902ba5b8c47530c.zip
* fhandler_disk_file.cc (fhandler_cygdrive::readdir): Avoid reporting
inaccessible drives.
Diffstat (limited to 'winsup/cygwin/fhandler_disk_file.cc')
-rw-r--r--winsup/cygwin/fhandler_disk_file.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc
index 7a596b88b..1ce4893d2 100644
--- a/winsup/cygwin/fhandler_disk_file.cc
+++ b/winsup/cygwin/fhandler_disk_file.cc
@@ -804,6 +804,11 @@ fhandler_cygdrive::readdir (DIR *dir)
set_errno (ENMFILE);
return NULL;
}
+ if (GetFileAttributes (pdrive) == (DWORD) -1)
+ {
+ pdrive += DRVSZ;
+ return readdir (dir);
+ }
*dir->__d_dirent->d_name = cyg_tolower (*pdrive);
dir->__d_dirent->d_name[1] = '\0';
dir->__d_position++;