summaryrefslogtreecommitdiff
path: root/src/RequestGroupMan.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-28 18:07:29 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2013-07-28 18:07:29 +0900
commitde55569de527a5172f14a5ee9f6ecbcf41382e25 (patch)
treef4b51b81fb25bdf5f792c8085043bb2c520f443f /src/RequestGroupMan.cc
parent41121e09f7cf6ed4a95797a80da63bca1d4884cd (diff)
Always save control file if --force-save is given
Diffstat (limited to 'src/RequestGroupMan.cc')
-rw-r--r--src/RequestGroupMan.cc10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/RequestGroupMan.cc b/src/RequestGroupMan.cc
index 6cae6b34..e3a461eb 100644
--- a/src/RequestGroupMan.cc
+++ b/src/RequestGroupMan.cc
@@ -334,7 +334,8 @@ public:
!group->getDownloadContext()->isChecksumVerificationNeeded()) {
group->applyLastModifiedTimeToLocalFiles();
group->reportDownloadFinished();
- if(group->allDownloadFinished()) {
+ if(group->allDownloadFinished() &&
+ !group->getOption()->getAsBool(PREF_FORCE_SAVE)) {
group->removeControlFile();
saveSignature(group);
} else {
@@ -517,11 +518,10 @@ void RequestGroupMan::fillRequestGroupFromReserver(DownloadEngine* e)
void RequestGroupMan::save()
{
- for(RequestGroupList::iterator itr = requestGroups_.begin(),
- eoi = requestGroups_.end(); itr != eoi; ++itr) {
- const std::shared_ptr<RequestGroup>& rg = *itr;
+ for(auto& rg : requestGroups_) {
if(rg->allDownloadFinished() &&
- !rg->getDownloadContext()->isChecksumVerificationNeeded()) {
+ !rg->getDownloadContext()->isChecksumVerificationNeeded() &&
+ !rg->getOption()->getAsBool(PREF_FORCE_SAVE)) {
rg->removeControlFile();
} else {
try {