* path.cc (symlink_info::check): Set fileattr to

FILE_ATTRIBUTE_DIRECTORY in a certain error condition.  Explain why.
This commit is contained in:
Corinna Vinschen 2009-12-24 12:53:43 +00:00
parent daee16e053
commit 14c622c6e3
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2009-12-24 Corinna Vinschen <corinna@vinschen.de>
* path.cc (symlink_info::check): Set fileattr to
FILE_ATTRIBUTE_DIRECTORY in a certain error condition. Explain why.
2009-12-22 Christopher Faylor <me+cygwin@cgf.cx>
* select.cc (fhandler_fifo::select_read): Fill in device specific

View File

@ -2327,7 +2327,12 @@ symlink_info::check (char *path, const suffix_info *suffixes, unsigned opt,
if (!NT_SUCCESS (status))
{
debug_printf ("%p = NtOpenFile(%S)", status, &dirname);
fileattr = 0;
/* There's a special case if the file is itself the root
of a drive which is not accessible by the current user.
This case is only recognized by the length of the
basename part. If it's 0, the incoming file is the
root of a drive. So we at least know it's a directory. */
fileattr = basename.Length ? 0 : FILE_ATTRIBUTE_DIRECTORY;
}
else
{