From 868fb2ff6992142de60d6ff31da0ac84ddcf9363 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sat, 21 Jan 2006 02:24:17 +0000 Subject: * include/cygwin/version.h: Bump API minor number to 151. * dir.cc (__opendir_with_d_ino): New function. (opendir): Set flag if we should be calculating inodes. (readdir_worker): Calculate d_ino by calling stat if the user has asked for it. (seekdir64): Maintain all persistent flag settings. * fhandler.h (dirent_states): Add dirent_set_d_ino. * fhandler_disk_file.cc (fhandler_disk_file::opendir): Reflect changes to dirent structure. * fhandler_virtual.cc (fhandler_virtual::opendir): Ditto. * include/sys/dirent.h (struct dirent): Coalesce two similar structures. Remove all threads of the apparently highly confusing references to inodes. Add support for calculating a real inode if __USE_EXPENSIVE_CYGWIN_D_INO is defined. --- winsup/cygwin/fhandler_disk_file.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/fhandler_disk_file.cc') diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index 7243d591f..ce0738b4a 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -1359,7 +1359,7 @@ fhandler_disk_file::opendir () else { strcpy (dir->__d_dirname, get_win32_name ()); - dir->__d_dirent->d_version = __DIRENT_VERSION; + dir->__d_dirent->__d_version = __DIRENT_VERSION; cygheap_fdnew fd; if (fd < 0) @@ -1367,7 +1367,7 @@ fhandler_disk_file::opendir () fd = this; fd->nohandle (true); - dir->__d_dirent->d_fd = fd; + dir->__d_fd = fd; dir->__fh = this; /* FindFirstFile doesn't seem to like duplicate /'s. */ len = strlen (dir->__d_dirname); @@ -1378,7 +1378,6 @@ fhandler_disk_file::opendir () dir->__d_cookie = __DIRENT_COOKIE; dir->__handle = INVALID_HANDLE_VALUE; dir->__d_position = 0; - dir->__d_dirhash = get_namehash (); res = dir; dir->__flags = (pc.normalized_path[0] == '/' && pc.normalized_path[1] == '\0') ? dirent_isroot : 0; -- cgit v1.2.3