From fa421c7a751ebde2acc62dcf032fb3b36f698db1 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 28 Nov 2008 09:04:35 +0000 Subject: * 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. --- winsup/cygwin/dir.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'winsup/cygwin/dir.cc') 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) -- cgit v1.2.3