* fhandler_disk_file.cc (fhandler_base::utimes_fs): Ignore
ERROR_NOT_SUPPORTED to workaround Win9x weirdness. * path.cc (symlink_info::check): Remap ERROR_INVALID_FUNTION to ERROR_FILE_NOT_FOUND for the same reason.
This commit is contained in:
parent
68a3f0d34a
commit
68401acd24
|
@ -1,3 +1,10 @@
|
|||
2005-04-16 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* fhandler_disk_file.cc (fhandler_base::utimes_fs): Ignore
|
||||
ERROR_NOT_SUPPORTED to workaround Win9x weirdness.
|
||||
* path.cc (symlink_info::check): Remap ERROR_INVALID_FUNTION to
|
||||
ERROR_FILE_NOT_FOUND for the same reason.
|
||||
|
||||
2005-04-16 Corinna Vinschen <corinna@vinschen.de>
|
||||
Pierre Humblet <pierre.humblet@ieee.org>
|
||||
|
||||
|
|
|
@ -870,7 +870,9 @@ fhandler_base::utimes_fs (const struct timeval *tvp)
|
|||
DWORD errcode = GetLastError ();
|
||||
if (is_fs_special ())
|
||||
SetFileAttributes (pc, pc);
|
||||
if (!res)
|
||||
/* Opening a directory on a 9x share from a NT machine works(!), but
|
||||
then the SetFileTimes fails with ERROR_NOT_SUPPORTED. Oh well... */
|
||||
if (!res && errcode != ERROR_NOT_SUPPORTED)
|
||||
{
|
||||
close ();
|
||||
__seterrno_from_win_error (errcode);
|
||||
|
|
|
@ -3112,7 +3112,14 @@ symlink_info::check (char *path, const suffix_info *suffixes, unsigned opt)
|
|||
matter, so we just return 0. For example, getting the
|
||||
attributes of \\HOST will typically fail. */
|
||||
debug_printf ("GetFileAttributes (%s) failed", suffix.path);
|
||||
set_error (geterrno_from_win_error (GetLastError (), EACCES));
|
||||
|
||||
/* The above comment is not *quite* right. When calling
|
||||
GetFileAttributes for a non-existant file an a Win9x share,
|
||||
GetLastError returns ERROR_INVALID_FUNCTION. Go figure! */
|
||||
DWORD win_error = GetLastError ();
|
||||
if (win_error == ERROR_INVALID_FUNCTION)
|
||||
win_error = ERROR_FILE_NOT_FOUND;
|
||||
set_error (geterrno_from_win_error (win_error, EACCES));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue