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: ---------------------------------------------------------------- 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
Sorry, forgot the session info. > sessionInfo() R version 2.15.2 (2012-10-26) Platform: i386-w64-mingw32/i386 (32-bit) locale: [1] LC_COLLATE=Portuguese_Portugal.1252 LC_CTYPE=Portuguese_Portugal.1252 [3] LC_MONETARY=Portuguese_Portugal.1252 LC_NUMERIC=C [5] LC_TIME=Portuguese_Portugal.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base Rui Barradas Em 08-12-2012 11:38, Rui Barradas escreveu:> 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: > > ---------------------------------------------------------------- > 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
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 >