* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Check
return code from GetFileSize and set file size to 0 if necessary. * fhandler_netdrive.cc (fhandler_netdrive::fstat): Set permissions to read/execute for all.
This commit is contained in:
parent
6dd9ec6c58
commit
dad546a5eb
@ -1,3 +1,10 @@
|
||||
2005-05-14 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Check
|
||||
return code from GetFileSize and set file size to 0 if necessary.
|
||||
* fhandler_netdrive.cc (fhandler_netdrive::fstat): Set permissions
|
||||
to read/execute for all.
|
||||
|
||||
2005-05-13 Christopher Faylor <cgf@timesys.com>
|
||||
|
||||
* path.cc (normalize_posix_path): Do normalization on . and .. after
|
||||
|
@ -148,11 +148,16 @@ fhandler_base::fstat_by_handle (struct __stat64 *buf)
|
||||
BOOL res = GetFileInformationByHandle (get_handle (), &local);
|
||||
debug_printf ("%d = GetFileInformationByHandle (%s, %d)",
|
||||
res, get_win32_name (), get_handle ());
|
||||
/* GetFileInformationByHandle will fail if it's given stdio handle or pipe*/
|
||||
/* GetFileInformationByHandle will fail if it's given stdio handle or pipe.
|
||||
It also fails on 9x when trying to access directories on shares. */
|
||||
if (!res)
|
||||
{
|
||||
memset (&local, 0, sizeof (local));
|
||||
local.nFileSizeLow = GetFileSize (get_handle (), &local.nFileSizeHigh);
|
||||
/* Even GetFileSize fails on 9x when trying to access directories
|
||||
on shares. In this case reset filesize to 0. */
|
||||
if (local.nFileSizeLow == 0xffffffff && GetLastError ())
|
||||
local.nFileSizeLow = 0;
|
||||
}
|
||||
|
||||
return fstat_helper (buf,
|
||||
|
@ -65,7 +65,7 @@ fhandler_netdrive::fstat (struct __stat64 *buf)
|
||||
|
||||
(void) fhandler_base::fstat (buf);
|
||||
|
||||
buf->st_mode = S_IFDIR | S_IXUSR | S_IXGRP | S_IXOTH;
|
||||
buf->st_mode = S_IFDIR | STD_RBITS | STD_XBITS;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user