]> sourceware.org Git - newlib-cygwin.git/commitdiff
* fhandler_disk_file.cc (fhander_disk_file::readdir): Handle a status
authorCorinna Vinschen <corinna@vinschen.de>
Tue, 20 Oct 2009 10:12:05 +0000 (10:12 +0000)
committerCorinna Vinschen <corinna@vinschen.de>
Tue, 20 Oct 2009 10:12:05 +0000 (10:12 +0000)
code STATUS_NOT_SUPPORTED.  Add matching comment.

winsup/cygwin/ChangeLog
winsup/cygwin/fhandler_disk_file.cc

index d28435f33d466401ca7f7497bd1b80399becaead..83fea341b839932505e01f2cdc9ac8229f9ee896 100644 (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>
 
        * syscalls.cc (internal_setlocale): Only convert $PATH if there is a
index cc121932241ef54c4e183f6a082432804711980e..d65938ce2abce4a909b361ec8f2e357e8b143f07 100644 (file)
@@ -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;
This page took 0.037104 seconds and 5 git commands to generate.