From 358063ace374e05025d124a17a0167b818b666ea Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 19 Aug 2005 16:18:42 +0000 Subject: * fhandler.h (dirent_states): Add dirent_isroot, dirent_saw_cygdrive, dirent_saw_dev. * dir.cc (opendir): Don't zero __flags here. Push that responsibility to opendir methods. (seekdir): Preserve dirent_isrrot in __flags. (rewinddir): Ditto. * fhandler_disk_file.cc (fhandler_disk_file::opendir): Set dirent_isroot appropriately. (fhandler_disk_file::readdir): Fill in "cygdrive" and "dev" if it is the root dir and they are missing. * fhandler_process.cc (fhandler_process::opendir): Set __flags here. * fhandler_virtual.cc (fhandler_virtual::opendir): Set __flags here. --- winsup/cygwin/fhandler.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'winsup/cygwin/fhandler.h') diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index ce0bef7d7..d8694c809 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -40,10 +40,13 @@ struct __acl32; enum dirent_states { - dirent_ok = 0, - dirent_saw_dot = 1, - dirent_saw_dot_dot = 2, - dirent_saw_eof = 4 + dirent_ok = 0x0000, + dirent_saw_dot = 0x0001, + dirent_saw_dot_dot = 0x0002, + dirent_saw_eof = 0x0004, + dirent_isroot = 0x0008, + dirent_saw_cygdrive = 0x0010, + dirent_saw_dev = 0x0020 }; enum conn_state -- cgit v1.2.3