diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2009-01-29 20:32:08 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2009-01-29 20:32:08 +0000 |
commit | 43616e5526861e4e6afeafb2f9cf4d4626a237b6 (patch) | |
tree | 4578bfc345ff5b9720e1b40d675bee292e6b18f1 /winsup/cygwin/fhandler_disk_file.cc | |
parent | bacd5877baf38e412c61b47f9ea24a24e01814e8 (diff) | |
download | cygnal-43616e5526861e4e6afeafb2f9cf4d4626a237b6.tar.gz cygnal-43616e5526861e4e6afeafb2f9cf4d4626a237b6.tar.bz2 cygnal-43616e5526861e4e6afeafb2f9cf4d4626a237b6.zip |
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix inode number
evaluation for faked "." entry.
* mount.cc (fs_info::update): Move setting of is_cdrom after checking
for caseinsensitivity. Recognize UDF in is_cdrom case and set
caseinsensitive flag according to UDF brokenness determined by OS.
Add comment to explain why.
* mount.h (class fs_info): Add is_udf status flag.
* path.cc (symlink_info::check): Add workaround for UDF bug in
terms of casesensitivity on certain OSes.
* wincap.h (wincaps::has_broken_udf): New element.
(wincaps::has_broken_udf): New element
Diffstat (limited to 'winsup/cygwin/fhandler_disk_file.cc')
-rw-r--r-- | winsup/cygwin/fhandler_disk_file.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index 2aad2ff79..7fd66b843 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -1928,7 +1928,8 @@ go_ahead: else if (!(dir->__flags & dirent_saw_dot)) { strcpy (de->d_name , "."); - de->d_ino = get_ino_by_handle (get_handle ()); + if (pc.isgood_inode (de->d_ino)) + de->d_ino = get_ino_by_handle (get_handle ()); dir->__d_position++; dir->__flags |= dirent_saw_dot; res = 0; |