* fhandler_disk_file.cc (fhander_disk_file::readdir): Handle a status

code STATUS_NOT_SUPPORTED.  Add matching comment.
This commit is contained in:
Corinna Vinschen 2009-10-20 10:12:05 +00:00
parent 8d648dc555
commit cbea3f7d93
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2009-10-20 Corinna Vinschen <corinna@vinschen.de>
* fhandler_disk_file.cc (fhander_disk_file::readdir): Handle a status
code STATUS_NOT_SUPPORTED. Add matching comment.
2009-10-19 Corinna Vinschen <corinna@vinschen.de> 2009-10-19 Corinna Vinschen <corinna@vinschen.de>
* syscalls.cc (internal_setlocale): Only convert $PATH if there is a * syscalls.cc (internal_setlocale): Only convert $PATH if there is a

View File

@ -1870,10 +1870,13 @@ fhandler_disk_file::readdir (DIR *dir, dirent *de)
FALSE, NULL, dir->__d_position == 0); FALSE, NULL, dir->__d_position == 0);
/* FileIdBothDirectoryInformation isn't supported for remote drives /* FileIdBothDirectoryInformation isn't supported for remote drives
on NT4 and 2K systems, and it's also not supported on 2K at all, 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 when accessing network drives on any remote OS. There are also
back to using a standard directory query in this case and note hacked versions of Samba 3.0.x out there (Debian-based it seems),
this case using the dirent_get_d_ino flag. */ 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 if (status == STATUS_INVALID_LEVEL
|| status == STATUS_NOT_SUPPORTED
|| status == STATUS_INVALID_PARAMETER || status == STATUS_INVALID_PARAMETER
|| status == STATUS_INVALID_INFO_CLASS) || status == STATUS_INVALID_INFO_CLASS)
dir->__flags &= ~dirent_get_d_ino; dir->__flags &= ~dirent_get_d_ino;