From 58336a92c303e0cd91bc11c424fe2f25e4e7dd0b Mon Sep 17 00:00:00 2001 From: pierre Date: Wed, 14 Apr 2021 08:06:54 +0000 Subject: 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 --- packages/fpmkunit/src/fpmkunit.pp | 14 ++++++++++++-- 1 file 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 -- cgit v1.2.1