summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--logic/updater/DownloadUpdateTask.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/logic/updater/DownloadUpdateTask.cpp b/logic/updater/DownloadUpdateTask.cpp
index 3fe24482..250092ed 100644
--- a/logic/updater/DownloadUpdateTask.cpp
+++ b/logic/updater/DownloadUpdateTask.cpp
@@ -242,10 +242,18 @@ void DownloadUpdateTask::processFileLists()
for (VersionFileEntry newEntry : m_nVersionFileList)
{
if (newEntry.path == entry.path)
- continue;
+ {
+ QLOG_DEBUG() << "Not deleting" << entry.path << "because it is still present in the new version.";
+ goto SkipFile;
+ }
}
// If the loop reaches the end, we didn't find a match. Delete the file.
m_operationList.append(UpdateOperation::DeleteOp(entry.path));
+
+SkipFile:
+ // We goto here from the inner loop if we find an entry that has a corresponding entry in the new version's file list.
+ // This allows us to effectively continue the outer loop from the inner loop.
+ // In this case, goto is the more readable option.
}
// Create a network job for downloading files.