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:
authorCorinna Vinschen <corinna@vinschen.de>2008-11-28 12:04:35 +0300
committerCorinna Vinschen <corinna@vinschen.de>2008-11-28 12:04:35 +0300
commitfa421c7a751ebde2acc62dcf032fb3b36f698db1 (patch)
tree0a4bb4359e801b30dc098767e5a70ab9b9528546 /winsup/cygwin/dir.cc
parent65ebf94e53514dc266c74bea7908ad3fe7fc4ebc (diff)
* dir.cc (readdir_worker): Initialize dirent.d_type and __d_unused1.
* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Set dirent.d_type based on FILE_ATTRIBUTE_*. * include/sys/dirent.h: Define _DIRENT_HAVE_D_TYPE (enables DT_* declarations). (struct dirent): Add d_type. Adjust __d_unused1 size to preserve layout.
Diffstat (limited to 'winsup/cygwin/dir.cc')
-rw-r--r--winsup/cygwin/dir.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc
index 30662e6d4..2b9125f0b 100644
--- a/winsup/cygwin/dir.cc
+++ b/winsup/cygwin/dir.cc
@@ -93,6 +93,9 @@ readdir_worker (DIR *dir, dirent *de)
}
de->d_ino = 0;
+ de->d_type = DT_UNKNOWN;
+ memset (&de->__d_unused1, 0, sizeof (de->__d_unused1));
+
int res = ((fhandler_base *) dir->__fh)->readdir (dir, de);
if (res == ENMFILE)