[Rd] file.link on Windows 7

From: Rui Barradas <ruipbarradas_at_sapo.pt>
Date: Sat, 08 Dec 2012 11:38:48 +0000


A post to R-Help by Oliver Soong reports what seems to be a bug specific to Windows (I'm on Windows 7).
The original post is as follows:

from: Oliver Soong <osoong+r_at_gmail.com>
to: r-help <r-help_at_r-project.org>
date: Fri, 7 Dec 2012 22:07:49 -0800
subject: [R] file.link fails on NTFS

Windows 7 64-bit, R 2.15.2 i386. Working directory is on an NTFS drive.

> writeLines("", "file.txt")
> file.link("file.txt", "link.txt")

Warning in file.link("file.txt", "link.txt") :

   cannot link 'link.txt' to 'link.txt', reason 'The system cannot find the file specified'

No link is created. The 'link.txt' to 'link.txt' is suspicious. Does this happen to anybody else? I didn't find anything in my searches.


The above code runs with no problems on Ubuntu 12.04/ R 2.15.2, file.link returns TRUE.
I've checked the sources and .Internal calls "file.link", executing do_filelink(). The segment in file src/main/platform.c seems right, not mistaking argument 'from' for 'to':

#ifdef Win32

         wchar_t *from, *to;

         from = filenameToWchar(STRING_ELT(f1, i%n1), TRUE);
         to = filenameToWchar(STRING_ELT(f2, i%n2), TRUE);
         LOGICAL(ans)[i] = CreateHardLinkW(to, from, NULL) != 0;
         if(!LOGICAL(ans)[i]) {
         warning(_("cannot link '%ls' to '%ls', reason '%s'"),
             from, to, formatError(GetLastError()));


But there's something going on. The link is not created and the warning message is wrong.

Bug report? (Why CreateHardLinkW, and not CreateHardLink?)

Rui Barradas

R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Sat 08 Dec 2012 - 11:42:43 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Sat 08 Dec 2012 - 15:42:43 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive