On Feb 2 13:24, Dan Shelton via Cygwin wrote:
> I'm not sure whether the Cygwin code is correct. I did a peek with a
> kernel debugger, and I see that FILE_RENAME_INFORMATION.RootDirectory
> is always NULL if a file gets renamed to .cyg000000000xxxx. But if I
> try that with NTFS or SMB, the NtSetInformationFile() to set
> FileRenameInformation always fails.
Your testcase is incorrect, unfortunately.
> fri->FileNameLength = (wcslen(dstfile)+1)*sizeof(wchar_t);
For NT file paths, never count the trailing \0 to the length:
fri->FileNameLength = wcslen(dstfile) * sizeof (WCHAR);
With that, your testcase works fine for me.
On which filesystem did you see the problem?
Corinna
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple