diff options
author | pierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-04-14 08:06:54 +0000 |
---|---|---|
committer | pierre <pierre@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-04-14 08:06:54 +0000 |
commit | 58336a92c303e0cd91bc11c424fe2f25e4e7dd0b (patch) | |
tree | 06edf3284a998689233538ccb16743b0cf380474 | |
parent | ce603f099a5c119ae76ed7b766c15d2d62b0cca4 (diff) | |
download | fpc-58336a92c303e0cd91bc11c424fe2f25e4e7dd0b.tar.gz |
Also delete file before copying if destination is a directory on Darwin OS
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@49202 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r-- | packages/fpmkunit/src/fpmkunit.pp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/packages/fpmkunit/src/fpmkunit.pp b/packages/fpmkunit/src/fpmkunit.pp index 9572af4ea4..70b51d34e9 100644 --- a/packages/fpmkunit/src/fpmkunit.pp +++ b/packages/fpmkunit/src/fpmkunit.pp @@ -6199,8 +6199,18 @@ Var {$endif UNIX} begin { First delete file on Darwin OS to avoid codesign issues } - if (Defaults.SourceOS=Darwin) and FileExists(Dest) then - SysDeleteFile(Dest); + if (Defaults.SourceOS=Darwin) then + begin + D:=IncludeTrailingPathDelimiter(Dest); + If DirectoryExists(D) then + begin + D:=D+ExtractFileName(Src); + if FileExists(D) then + SysDeleteFile(D); + end + else if FileExists(Dest) then + SysDeleteFile(Dest); + end; Log(vlInfo,SInfoCopyingFile,[Src,Dest]); FIn:=TFileStream.Create(Src,fmopenRead or fmShareDenyNone); Try |