* fhandler_disk_file.cc (fhandler_disk_file::link): Drop faking hardlink

creation on filesystems not supporting hardlinks.
This commit is contained in:
Corinna Vinschen 2009-09-21 10:56:50 +00:00
parent 991caa7310
commit 6cabe044dd
2 changed files with 8 additions and 11 deletions

View File

@ -1,3 +1,8 @@
2009-09-21 Corinna Vinschen <corinna@vinschen.de>
* fhandler_disk_file.cc (fhandler_disk_file::link): Drop faking hardlink
creation on filesystems not supporting hardlinks.
2009-09-20 Christopher Faylor <me+cygwin@cgf.cx>
* dcrt0.cc (dll_crt0_1): Add another hack to REALLY make sure that

View File

@ -1249,18 +1249,10 @@ fhandler_disk_file::link (const char *newpath)
{
if (status == STATUS_INVALID_DEVICE_REQUEST)
{
/* FS doesn't support hard links. Try to copy file. */
WCHAR pcw[(pc.get_nt_native_path ()->Length / sizeof (WCHAR)) + 1];
WCHAR newpcw[(newpc.get_nt_native_path ()->Length / sizeof (WCHAR))
+ 1];
if (!CopyFileW (pc.get_wide_win32_path (pcw),
newpc.get_wide_win32_path (newpcw), TRUE))
{
__seterrno ();
/* FS doesn't support hard links. Linux returns EPERM. */
set_errno (EPERM);
return -1;
}
SetFileAttributesW (newpcw, pc.file_attributes ());
}
else
{
__seterrno_from_nt_status (status);