Better fail with E_EXIST if rename(3) fails

...it leads to better handling of the failure downstream, if e.g. this is an
attempt to copy a file from the presets to an existing file of a previously
partly generated UserInstallation, and the presets and the UserInstallation are
on different drives and rename(3) fails with EXDEV.  (Without this fix, removing
the UserInstallation's registrymodifications.xcu caused restarting soffice to
fail with "User installation could not be completed" in this case; regression
introduced with 6edbcc1b231feb02f304ff646c323b5df051d9a4 "cid#1242936 handle
rename failure.")

Change-Id: I409698c4e2e6cc6ccd8b2be80a393c9657b5125d
This commit is contained in:
Stephan Bergmann 2015-09-23 14:01:33 +02:00
parent 177ea7a281
commit d2a7abebf2

View File

@ -816,7 +816,7 @@ static oslFileError oslDoCopy(const sal_Char* pszSourceFileName, const sal_Char*
"sal.osl",
"rename(" << pszDestFileName << ", " << tmpDestFile
<< ") failed with errno " << e);
return osl_File_E_BUSY; // for want of a better error code
return osl_File_E_EXIST; // for want of a better error code
}
}
}