+2003-06-01 Pierre Humblet <pierre.humblet@ieee.org>
+
+ * fhandler_disk_file.cc (fhandler_disk_file::fstat_by_name): Assume
+ an existing directory is a root if FindFirstFile fails.
+
2003-05-30 Christopher Faylor <cgf@redhat.com>
* path.cc (mount_info::conv_to_win32_path): gcc warning about chroot_ok
set_errno (ENOENT);
res = -1;
}
- else if (pc->isdir () && strlen (*pc) <= strlen (pc->root_dir ()))
- {
- FILETIME ft = {};
- res = fstat_helper (buf, pc, ft, ft, ft, 0, 0);
- }
- else if ((handle = FindFirstFile (*pc, &local)) == INVALID_HANDLE_VALUE)
- {
- debug_printf ("FindFirstFile failed for '%s', %E", (char *) *pc);
- __seterrno ();
- res = -1;
- }
- else
+ else if ((handle = FindFirstFile (*pc, &local)) != INVALID_HANDLE_VALUE)
{
FindClose (handle);
res = fstat_helper (buf, pc,
local.nFileSizeHigh,
local.nFileSizeLow);
}
+ else if (pc->isdir ())
+ {
+ FILETIME ft = {};
+ res = fstat_helper (buf, pc, ft, ft, ft, 0, 0);
+ }
+ else
+ {
+ debug_printf ("FindFirstFile failed for '%s', %E", (char *) *pc);
+ __seterrno ();
+ res = -1;
+ }
return res;
}