[Rd] file.link on Windows 7

Duncan Murdoch murdoch.duncan at gmail.com
Sat Dec 8 13:36:43 CET 2012


On 12-12-08 6:38 AM, Rui Barradas wrote:
> Hello,
>
> 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:

I see the bug, and will fix it.

Duncan Murdoch

>
> ----------------------------------------------------------------
> 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.
>
> Oliver
>
> ----------------------------------------------------------------
> 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()));
>           }
> #else
>
>
> 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
>



More information about the R-devel mailing list