From: Corinna Vinschen Date: Tue, 20 Oct 2009 10:12:05 +0000 (+0000) Subject: * fhandler_disk_file.cc (fhander_disk_file::readdir): Handle a status X-Git-Tag: sid-snapshot-20091101~10 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=cbea3f7d93e19af536ed8ba8225fb02454dac8ca;p=newlib-cygwin.git * fhandler_disk_file.cc (fhander_disk_file::readdir): Handle a status code STATUS_NOT_SUPPORTED. Add matching comment. --- diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index d28435f33..83fea341b 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2009-10-20 Corinna Vinschen + + * fhandler_disk_file.cc (fhander_disk_file::readdir): Handle a status + code STATUS_NOT_SUPPORTED. Add matching comment. + 2009-10-19 Corinna Vinschen * syscalls.cc (internal_setlocale): Only convert $PATH if there is a diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index cc1219322..d65938ce2 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -1870,10 +1870,13 @@ fhandler_disk_file::readdir (DIR *dir, dirent *de) FALSE, NULL, dir->__d_position == 0); /* FileIdBothDirectoryInformation isn't supported for remote drives on NT4 and 2K systems, and it's also not supported on 2K at all, - when accessing network drives on any remote OS. We just fall - back to using a standard directory query in this case and note - this case using the dirent_get_d_ino flag. */ + when accessing network drives on any remote OS. There are also + hacked versions of Samba 3.0.x out there (Debian-based it seems), + which return STATUS_NOT_SUPPORTED rather than handling this info + class. We just fall back to using a standard directory query in + this case and note this case using the dirent_get_d_ino flag. */ if (status == STATUS_INVALID_LEVEL + || status == STATUS_NOT_SUPPORTED || status == STATUS_INVALID_PARAMETER || status == STATUS_INVALID_INFO_CLASS) dir->__flags &= ~dirent_get_d_ino;