From a954fc1a3291d7f6e984b42ba71508d521d7d945 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 12 Dec 2013 17:10:43 -0600 Subject: Fix updater removing all files. Yeah, I don't know what I was thinking, but somehow it worked before. --- logic/updater/DownloadUpdateTask.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'logic/updater') 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. -- cgit From 382e4fe6b346d27f03a69f028904186334ed2fec Mon Sep 17 00:00:00 2001 From: Petr Mrázek Date: Fri, 13 Dec 2013 02:52:54 +0100 Subject: Fix syntax error You do not need goto for that. Really. --- logic/updater/DownloadUpdateTask.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'logic/updater') diff --git a/logic/updater/DownloadUpdateTask.cpp b/logic/updater/DownloadUpdateTask.cpp index 250092ed..d9aab826 100644 --- a/logic/updater/DownloadUpdateTask.cpp +++ b/logic/updater/DownloadUpdateTask.cpp @@ -239,21 +239,19 @@ void DownloadUpdateTask::processFileLists() // delete anything in the current one version's list that isn't in the new version's list. for (VersionFileEntry entry : m_cVersionFileList) { + bool keep = false; for (VersionFileEntry newEntry : m_nVersionFileList) - { + { if (newEntry.path == entry.path) { QLOG_DEBUG() << "Not deleting" << entry.path << "because it is still present in the new version."; - goto SkipFile; + keep = true; + break; } } - // 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. + // If the loop reaches the end and we didn't find a match, delete the file. + if(!keep) + m_operationList.append(UpdateOperation::DeleteOp(entry.path)); } // Create a network job for downloading files. -- cgit