[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdiff3] src: Always try to copy links let Qt worry about the OS.
From: Michael Reeves <null () kde ! org>
Date: 2018-09-16 19:08:08
Message-ID: E1g1cOu-0000d2-93 () code ! kde ! org
[Download RAW message or body]
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 QString& nameA, const QString& n
bool DirectoryMergeWindow::Data::copyFLD(const QString& srcName, const QString& destName)
{
+ bool bSuccess = false;
+
if(srcName == destName)
return true;
-
+
FileAccess fi(srcName);
FileAccess faDest(destName, true);
if(faDest.exists() && !(fi.isDir() && faDest.isDir() && (fi.isSymLink() == faDest.isSymLink())))
{
- bool bSuccess = deleteFLD(destName, m_pOptions->m_bDmCreateBakFiles);
+ bSuccess = deleteFLD(destName, m_pOptions->m_bDmCreateBakFiles);
if(!bSuccess)
{
m_pStatusInfo->addText(i18n("Error: copy( %1 -> %2 ) failed."
"Deleting existing destination failed.",
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, destName));
-#if defined(Q_OS_WIN)
-// What are links?
-#else
+
if(m_bSimulatedMergeStarted)
{
return true;
@@ -3178,12 +3178,16 @@ bool DirectoryMergeWindow::Data::copyFLD(const QString& srcName, const QString&
m_pStatusInfo->addText(i18n("Error: copyLink failed: Remote links are not yet supported."));
return false;
}
+
+ bSuccess = false;
QString linkTarget = fi.readLink();
- bool bSuccess = FileAccess::symLink(linkTarget, destName);
- if(!bSuccess)
- m_pStatusInfo->addText(i18n("Error: copyLink failed."));
+ if(!linkTarget.isEmpty())
+ {
+ bSuccess = 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 QString& srcName, const QString&
return true;
else
{
- bool bSuccess = makeDir(destName);
+ bSuccess = makeDir(destName);
return bSuccess;
}
}
@@ -3201,7 +3205,7 @@ bool DirectoryMergeWindow::Data::copyFLD(const QString& srcName, const QString&
if(pos > 0)
{
QString parentName = destName.left(pos);
- bool bSuccess = makeDir(parentName, true /*quiet*/);
+ bSuccess = makeDir(parentName, true /*quiet*/);
if(!bSuccess)
return false;
}
@@ -3214,7 +3218,7 @@ bool DirectoryMergeWindow::Data::copyFLD(const QString& srcName, const QString&
}
FileAccess faSrc(srcName);
- bool bSuccess = faSrc.copyFile(destName);
+ bSuccess = faSrc.copyFile(destName);
if(!bSuccess) m_pStatusInfo->addText(faSrc.getStatusText());
return bSuccess;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic