---- diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c index 0e5af8a..42e1842 100644 --- a/dlls/ntdll/directory.c +++ b/dlls/ntdll/directory.c @@ -2185,6 +2185,11 @@ static int read_directory_getattrlist( int fd, IO_STATUS_BLOCK *io, void *buffer } else io->u.Status = STATUS_NO_MORE_FILES; } + else if (errno == ENOENT || errno == ENOTDIR) + { + io->u.Status = STATUS_NO_MORE_FILES; + ret = 0; + } } else ret = -1; ----
Actually that's how my patch originally looked like (http://source.winehq.org/patches/data/111375) but then I realized that would break if the filesystem is case-sensitive, since it would return the file as missing while it might be present with a different name casing. I haven't actually tested it though.