From kde-commits Sun Sep 16 19:08:08 2018 From: Michael Reeves Date: Sun, 16 Sep 2018 19:08:08 +0000 To: kde-commits Subject: [kdiff3] src: Always try to copy links let Qt worry about the OS. Message-Id: X-MARC-Message: https://marc.info/?l=kde-commits&m=153712489902917 Git commit 414a09f9ea3843765ca8e9f50147aa46374742ba by Michael Reeves. Committed on 13/09/2018 at 03:14. Pushed by mreeves into branch 'master'. Always try to copy links let Qt worry about the OS. M +17 -13 src/directorymergewindow.cpp https://commits.kde.org/kdiff3/414a09f9ea3843765ca8e9f50147aa46374742ba diff --git a/src/directorymergewindow.cpp b/src/directorymergewindow.cpp index 1f2698f..c34131c 100644 --- a/src/directorymergewindow.cpp +++ b/src/directorymergewindow.cpp @@ -3145,29 +3145,29 @@ bool DirectoryMergeWindow::Data::mergeFLD(const QSt= ring& nameA, const QString& n = bool DirectoryMergeWindow::Data::copyFLD(const QString& srcName, const QSt= ring& destName) { + bool bSuccess =3D false; + = if(srcName =3D=3D destName) return true; - + = FileAccess fi(srcName); FileAccess faDest(destName, true); if(faDest.exists() && !(fi.isDir() && faDest.isDir() && (fi.isSymLink(= ) =3D=3D faDest.isSymLink()))) { - bool bSuccess =3D deleteFLD(destName, m_pOptions->m_bDmCreateBakFi= les); + bSuccess =3D deleteFLD(destName, m_pOptions->m_bDmCreateBakFiles); if(!bSuccess) { m_pStatusInfo->addText(i18n("Error: copy( %1 -> %2 ) failed." "Deleting existing destination fai= led.", srcName, destName)); - return false; + return bSuccess; } } = if(fi.isSymLink() && ((fi.isDir() && !m_bFollowDirLinks) || (!fi.isDir= () && !m_bFollowFileLinks))) { m_pStatusInfo->addText(i18n("copyLink( %1 -> %2 )", srcName, destN= ame)); -#if defined(Q_OS_WIN) -// What are links? -#else + if(m_bSimulatedMergeStarted) { return true; @@ -3178,12 +3178,16 @@ bool DirectoryMergeWindow::Data::copyFLD(const QStr= ing& srcName, const QString& m_pStatusInfo->addText(i18n("Error: copyLink failed: Remote li= nks are not yet supported.")); return false; } + + bSuccess =3D false; QString linkTarget =3D fi.readLink(); - bool bSuccess =3D FileAccess::symLink(linkTarget, destName); - if(!bSuccess) - m_pStatusInfo->addText(i18n("Error: copyLink failed.")); + if(!linkTarget.isEmpty()) + { + bSuccess =3D FileAccess::symLink(linkTarget, destName); + if(!bSuccess) + m_pStatusInfo->addText(i18n("Error: copyLink failed.")); + } return bSuccess; -#endif } = if(fi.isDir()) @@ -3192,7 +3196,7 @@ bool DirectoryMergeWindow::Data::copyFLD(const QStrin= g& srcName, const QString& return true; else { - bool bSuccess =3D makeDir(destName); + bSuccess =3D makeDir(destName); return bSuccess; } } @@ -3201,7 +3205,7 @@ bool DirectoryMergeWindow::Data::copyFLD(const QStrin= g& srcName, const QString& if(pos > 0) { QString parentName =3D destName.left(pos); - bool bSuccess =3D makeDir(parentName, true /*quiet*/); + bSuccess =3D makeDir(parentName, true /*quiet*/); if(!bSuccess) return false; } @@ -3214,7 +3218,7 @@ bool DirectoryMergeWindow::Data::copyFLD(const QStrin= g& srcName, const QString& } = FileAccess faSrc(srcName); - bool bSuccess =3D faSrc.copyFile(destName); + bSuccess =3D faSrc.copyFile(destName); if(!bSuccess) m_pStatusInfo->addText(faSrc.getStatusText()); return bSuccess; }