Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2005-03-17 00:20:56 +0300
committerChristopher Faylor <me@cgf.cx>2005-03-17 00:20:56 +0300
commit2693c1ac5651248b79c3a7805615b043a901ae6f (patch)
tree9baedb56d5c51dd988be04ed51023e74ccbc1679 /winsup/cygwin/fhandler_virtual.cc
parent80e4c577b6ada0d6b64bf139075c2f9983608bc8 (diff)
* dir.cc: Rename opendir_* to dirent_* throughout.
(opendir_states): Move and rename. * fhandler.h (dirent_states): to here. * fhandler_disk_file.cc (fhandler_disk_file::readdir): Use raw readdir when skipping through entries since it is keeping track of "." and "..". (fhandler_cygdrive::seekdir): Use fhandler_disk_file::readdir to do everything. * fhandler_virtual.cc (fhandler_virtual::opendir): Set flag indicating that we provide . and .. (fhandler_virtual::seekdir): Ditto. (fhandler_virtual::rewinddir): Ditto. * fhandler_registry.cc (fhandler_registry::rewinddir): Ditto.
Diffstat (limited to 'winsup/cygwin/fhandler_virtual.cc')
-rw-r--r--winsup/cygwin/fhandler_virtual.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler_virtual.cc b/winsup/cygwin/fhandler_virtual.cc
index 21798994a..32d700a4d 100644
--- a/winsup/cygwin/fhandler_virtual.cc
+++ b/winsup/cygwin/fhandler_virtual.cc
@@ -83,7 +83,7 @@ fhandler_virtual::opendir ()
dir->__handle = INVALID_HANDLE_VALUE;
dir->__d_position = 0;
dir->__d_dirhash = get_namehash ();
-
+ dir->__flags = dirent_saw_dot | dirent_saw_dot_dot;
res = dir;
}
}
@@ -100,6 +100,7 @@ _off64_t fhandler_virtual::telldir (DIR * dir)
void
fhandler_virtual::seekdir (DIR * dir, _off64_t loc)
{
+ dir->__flags |= dirent_saw_dot | dirent_saw_dot_dot;
dir->__d_position = loc;
return;
}
@@ -108,6 +109,7 @@ void
fhandler_virtual::rewinddir (DIR * dir)
{
dir->__d_position = 0;
+ dir->__flags |= dirent_saw_dot | dirent_saw_dot_dot;
return;
}