diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2008-11-28 09:04:35 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2008-11-28 09:04:35 +0000 |
commit | fa421c7a751ebde2acc62dcf032fb3b36f698db1 (patch) | |
tree | 0a4bb4359e801b30dc098767e5a70ab9b9528546 /winsup/cygwin/dir.cc | |
parent | 65ebf94e53514dc266c74bea7908ad3fe7fc4ebc (diff) | |
download | cygnal-fa421c7a751ebde2acc62dcf032fb3b36f698db1.tar.gz cygnal-fa421c7a751ebde2acc62dcf032fb3b36f698db1.tar.bz2 cygnal-fa421c7a751ebde2acc62dcf032fb3b36f698db1.zip |
* 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.cc | 3 |
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) |