diff options
author | David Kalnischkies <david@kalnischkies.de> | 2015-06-10 22:10:48 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2015-06-10 22:10:48 +0200 |
commit | dcbbb14df8c9a8a146697720874e9425c4b33792 (patch) | |
tree | e58428a794598e0819ec7cd381fca9b90331c1e9 /apt-pkg/acquire-item.cc | |
parent | d3a869e35503638e3483228fbfc95b7143568ad0 (diff) |
stop using IndexTarget pointers which are never freed
Creating and passing around a bunch of pointers of IndexTargets (and of
a vector of pointers of IndexTargets) is probably done to avoid the
'costly' copy of container, but we are really not in a timecritical
operation here and move semantics will help us even further in the
future. On the other hand we never do a proper cleanup of these
pointers, which is very dirty, even if structures aren't that big…
The changes will effecting many items only effect our own hidden class,
so we can do that without fearing breaking interfaces or anything.
Git-Dch: Ignore
Diffstat (limited to 'apt-pkg/acquire-item.cc')
-rw-r--r-- | apt-pkg/acquire-item.cc | 167 |
1 files changed, 83 insertions, 84 deletions
diff --git a/apt-pkg/acquire-item.cc b/apt-pkg/acquire-item.cc index e92ccc08b..05ea9c069 100644 --- a/apt-pkg/acquire-item.cc +++ b/apt-pkg/acquire-item.cc @@ -191,7 +191,7 @@ HashStringList pkgAcqIndexMergeDiffs::GetExpectedHashes() const if (State == StateFetchDiff) return patch.download_hashes; else if (State == StateApplyDiff) - return GetExpectedHashesFor(Target->MetaKey); + return GetExpectedHashesFor(Target.MetaKey); return HashStringList(); } @@ -266,20 +266,20 @@ std::string pkgAcqDiffIndex::GetFinalFilename() const } std::string pkgAcqIndex::GetFinalFilename() const { - std::string const FinalFile = GetFinalFileNameFromURI(Target->URI); - return GetCompressedFileName(Target->URI, FinalFile, CurrentCompressionExtension); + std::string const FinalFile = GetFinalFileNameFromURI(Target.URI); + return GetCompressedFileName(Target.URI, FinalFile, CurrentCompressionExtension); } std::string pkgAcqMetaSig::GetFinalFilename() const { - return GetFinalFileNameFromURI(Target->URI); + return GetFinalFileNameFromURI(Target.URI); } std::string pkgAcqBaseIndex::GetFinalFilename() const { - return GetFinalFileNameFromURI(Target->URI); + return GetFinalFileNameFromURI(Target.URI); } std::string pkgAcqMetaBase::GetFinalFilename() const { - return GetFinalFileNameFromURI(DataTarget.URI); + return GetFinalFileNameFromURI(Target.URI); } std::string pkgAcqArchive::GetFinalFilename() const { @@ -289,17 +289,17 @@ std::string pkgAcqArchive::GetFinalFilename() const // pkgAcqTransactionItem::GetMetaKey and specialisations for child classes /*{{{*/ std::string pkgAcqTransactionItem::GetMetaKey() const { - return Target->MetaKey; + return Target.MetaKey; } std::string pkgAcqIndex::GetMetaKey() const { if (Stage == STAGE_DECOMPRESS_AND_VERIFY || CurrentCompressionExtension == "uncompressed") - return Target->MetaKey; - return Target->MetaKey + "." + CurrentCompressionExtension; + return Target.MetaKey; + return Target.MetaKey + "." + CurrentCompressionExtension; } std::string pkgAcqDiffIndex::GetMetaKey() const { - return Target->MetaKey + ".diff/Index"; + return Target.MetaKey + ".diff/Index"; } /*}}}*/ //pkgAcqTransactionItem::TransactionState and specialisations for child classes /*{{{*/ @@ -373,7 +373,7 @@ bool pkgAcqDiffIndex::TransactionState(TransactionStates const state) case TransactionCommit: break; case TransactionAbort: - std::string const Partial = GetPartialFileNameFromURI(Target->URI); + std::string const Partial = GetPartialFileNameFromURI(Target.URI); unlink(Partial.c_str()); break; } @@ -396,16 +396,16 @@ class APT_HIDDEN NoActionItem : public pkgAcquire::Item /*{{{*/ reach its done state to prevent cleanup deleting the mentioned file. Handy in cases in which we know we have the file already, like IMS-Hits. */ { - IndexTarget const * const Target; + IndexTarget const Target; public: - virtual std::string DescURI() const {return Target->URI;}; + virtual std::string DescURI() const {return Target.URI;}; virtual HashStringList GetExpectedHashes() const {return HashStringList();}; - NoActionItem(pkgAcquire * const Owner, IndexTarget const * const Target) : + NoActionItem(pkgAcquire * const Owner, IndexTarget const Target) : pkgAcquire::Item(Owner), Target(Target) { Status = StatDone; - DestFile = GetFinalFileNameFromURI(Target->URI); + DestFile = GetFinalFileNameFromURI(Target.URI); } }; /*}}}*/ @@ -669,7 +669,7 @@ std::string pkgAcquire::Item::HashSum() const /*{{{*/ /*}}}*/ pkgAcqTransactionItem::pkgAcqTransactionItem(pkgAcquire * const Owner, /*{{{*/ - pkgAcqMetaBase * const TransactionManager, IndexTarget const * const Target) : + pkgAcqMetaBase * const TransactionManager, IndexTarget const Target) : pkgAcquire::Item(Owner), Target(Target), TransactionManager(TransactionManager) { if (TransactionManager != this) @@ -689,10 +689,10 @@ HashStringList pkgAcqTransactionItem::GetExpectedHashesFor(std::string const Met // AcqMetaBase - Constructor /*{{{*/ pkgAcqMetaBase::pkgAcqMetaBase(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager, - std::vector<IndexTarget*> const * const IndexTargets, + std::vector<IndexTarget> const IndexTargets, IndexTarget const &DataTarget, indexRecords * const MetaIndexParser) -: pkgAcqTransactionItem(Owner, TransactionManager, NULL), DataTarget(DataTarget), +: pkgAcqTransactionItem(Owner, TransactionManager, DataTarget), MetaIndexParser(MetaIndexParser), LastMetaIndexParser(NULL), IndexTargets(IndexTargets), AuthPass(false), IMSHit(false) { @@ -953,31 +953,30 @@ void pkgAcqMetaBase::QueueIndexes(bool const verify) /*{{{*/ // at this point the real Items are loaded in the fetcher ExpectedAdditionalItems = 0; - vector <IndexTarget*>::const_iterator Target; - for (Target = IndexTargets->begin(); - Target != IndexTargets->end(); + for (std::vector <IndexTarget>::const_iterator Target = IndexTargets.begin(); + Target != IndexTargets.end(); ++Target) { bool trypdiff = _config->FindB("Acquire::PDiffs", true); if (verify == true) { - if (TransactionManager->MetaIndexParser->Exists((*Target)->MetaKey) == false) + if (TransactionManager->MetaIndexParser->Exists(Target->MetaKey) == false) { // optional targets that we do not have in the Release file are skipped - if ((*Target)->IsOptional) + if (Target->IsOptional) continue; Status = StatAuthError; - strprintf(ErrorText, _("Unable to find expected entry '%s' in Release file (Wrong sources.list entry or malformed file)"), (*Target)->MetaKey.c_str()); + strprintf(ErrorText, _("Unable to find expected entry '%s' in Release file (Wrong sources.list entry or malformed file)"), Target->MetaKey.c_str()); return; } - if (RealFileExists(GetFinalFileNameFromURI((*Target)->URI))) + if (RealFileExists(GetFinalFileNameFromURI(Target->URI))) { if (TransactionManager->LastMetaIndexParser != NULL) { - HashStringList const newFile = GetExpectedHashesFromFor(TransactionManager->MetaIndexParser, (*Target)->MetaKey); - HashStringList const oldFile = GetExpectedHashesFromFor(TransactionManager->LastMetaIndexParser, (*Target)->MetaKey); + HashStringList const newFile = GetExpectedHashesFromFor(TransactionManager->MetaIndexParser, Target->MetaKey); + HashStringList const oldFile = GetExpectedHashesFromFor(TransactionManager->LastMetaIndexParser, Target->MetaKey); if (newFile == oldFile) { // we have the file already, no point in trying to acquire it again @@ -990,15 +989,15 @@ void pkgAcqMetaBase::QueueIndexes(bool const verify) /*{{{*/ trypdiff = false; // no file to patch // check if we have patches available - trypdiff &= TransactionManager->MetaIndexParser->Exists((*Target)->MetaKey + ".diff/Index"); + trypdiff &= TransactionManager->MetaIndexParser->Exists(Target->MetaKey + ".diff/Index"); } // if we have no file to patch, no point in trying - trypdiff &= RealFileExists(GetFinalFileNameFromURI((*Target)->URI)); + trypdiff &= RealFileExists(GetFinalFileNameFromURI(Target->URI)); // no point in patching from local sources if (trypdiff) { - std::string const proto = (*Target)->URI.substr(0, strlen("file:/")); + std::string const proto = Target->URI.substr(0, strlen("file:/")); if (proto == "file:/" || proto == "copy:/" || proto == "cdrom:") trypdiff = false; } @@ -1060,7 +1059,7 @@ bool pkgAcqMetaBase::VerifyVendor(string const &Message) /*{{{*/ // the download progress display (e.g. 7d 3h 42min 1s) _("Release file for %s is expired (invalid since %s). " "Updates for this repository will not be applied."), - DataTarget.URI.c_str(), TimeToStr(invalid_since).c_str()); + Target.URI.c_str(), TimeToStr(invalid_since).c_str()); if (ErrorText.empty()) ErrorText = errmsg; return _error->Error("%s", errmsg.c_str()); @@ -1111,14 +1110,14 @@ bool pkgAcqMetaBase::VerifyVendor(string const &Message) /*{{{*/ pkgAcqMetaClearSig::pkgAcqMetaClearSig(pkgAcquire * const Owner, /*{{{*/ IndexTarget const &ClearsignedTarget, IndexTarget const &DetachedDataTarget, IndexTarget const &DetachedSigTarget, - const vector<IndexTarget*>* const IndexTargets, + std::vector<IndexTarget> const IndexTargets, indexRecords * const MetaIndexParser) : pkgAcqMetaIndex(Owner, this, ClearsignedTarget, DetachedSigTarget, IndexTargets, MetaIndexParser), ClearsignedTarget(ClearsignedTarget), DetachedDataTarget(DetachedDataTarget), DetachedSigTarget(DetachedSigTarget) { // index targets + (worst case:) Release/Release.gpg - ExpectedAdditionalItems = IndexTargets->size() + 2; + ExpectedAdditionalItems = IndexTargets.size() + 2; TransactionManager->Add(this); } /*}}}*/ @@ -1167,8 +1166,8 @@ void pkgAcqMetaClearSig::Done(std::string const &Message, // We got an InRelease file IMSHit, but we haven't one, which means // we had a valid Release/Release.gpg combo stepping in, which we have // to 'acquire' now to ensure list cleanup isn't removing them - new NoActionItem(Owner, &DetachedDataTarget); - new NoActionItem(Owner, &DetachedSigTarget); + new NoActionItem(Owner, DetachedDataTarget); + new NoActionItem(Owner, DetachedSigTarget); } } } @@ -1251,7 +1250,7 @@ pkgAcqMetaIndex::pkgAcqMetaIndex(pkgAcquire * const Owner, /*{{{*/ pkgAcqMetaBase * const TransactionManager, IndexTarget const &DataTarget, IndexTarget const &DetachedSigTarget, - vector<IndexTarget*> const * const IndexTargets, + vector<IndexTarget> const IndexTargets, indexRecords * const MetaIndexParser) : pkgAcqMetaBase(Owner, TransactionManager, IndexTargets, DataTarget, MetaIndexParser), DetachedSigTarget(DetachedSigTarget) @@ -1269,7 +1268,7 @@ pkgAcqMetaIndex::pkgAcqMetaIndex(pkgAcquire * const Owner, /*{{{*/ Desc.URI = DataTarget.URI; // we expect more item - ExpectedAdditionalItems = IndexTargets->size(); + ExpectedAdditionalItems = IndexTargets.size(); QueueURI(Desc); } /*}}}*/ @@ -1284,7 +1283,7 @@ void pkgAcqMetaIndex::Done(string const &Message, /*{{{*/ // we have a Release file, now download the Signature, all further // verify/queue for additional downloads will be done in the // pkgAcqMetaSig::Done() code - new pkgAcqMetaSig(Owner, TransactionManager, &DetachedSigTarget, this); + new pkgAcqMetaSig(Owner, TransactionManager, DetachedSigTarget, this); } } /*}}}*/ @@ -1297,7 +1296,7 @@ void pkgAcqMetaIndex::Failed(string const &Message, _error->Warning(_("The repository '%s' does not have a Release file. " "This is deprecated, please contact the owner of the " - "repository."), DataTarget.Description.c_str()); + "repository."), Target.Description.c_str()); // No Release file was present so fall // back to queueing Packages files without verification @@ -1325,18 +1324,18 @@ void pkgAcqMetaIndex::Finished() /*{{{*/ /*}}}*/ std::string pkgAcqMetaIndex::DescURI() const /*{{{*/ { - return DataTarget.URI; + return Target.URI; } /*}}}*/ // AcqMetaSig::AcqMetaSig - Constructor /*{{{*/ pkgAcqMetaSig::pkgAcqMetaSig(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager, - IndexTarget const * const Target, + IndexTarget const Target, pkgAcqMetaIndex * const MetaIndex) : pkgAcqTransactionItem(Owner, TransactionManager, Target), MetaIndex(MetaIndex) { - DestFile = GetPartialFileNameFromURI(Target->URI); + DestFile = GetPartialFileNameFromURI(Target.URI); // remove any partial downloaded sig-file in partial/. // it may confuse proxies and is too small to warrant a @@ -1349,10 +1348,10 @@ pkgAcqMetaSig::pkgAcqMetaSig(pkgAcquire * const Owner, << TransactionManager << std::endl; // Create the item - Desc.Description = Target->Description; + Desc.Description = Target.Description; Desc.Owner = this; - Desc.ShortDesc = Target->ShortDesc; - Desc.URI = Target->URI; + Desc.ShortDesc = Target.ShortDesc; + Desc.URI = Target.URI; // If we got a hit for Release, we will get one for Release.gpg too (or obscure errors), // so we skip the download step and go instantly to verification @@ -1420,7 +1419,7 @@ void pkgAcqMetaSig::Failed(string const &Message,pkgAcquire::MethodConfig const { std::string downgrade_msg; strprintf(downgrade_msg, _("The repository '%s' is no longer signed."), - MetaIndex->DataTarget.Description.c_str()); + MetaIndex->Target.Description.c_str()); if(_config->FindB("Acquire::AllowDowngradeToInsecureRepositories")) { // meh, the users wants to take risks (we still mark the packages @@ -1442,7 +1441,7 @@ void pkgAcqMetaSig::Failed(string const &Message,pkgAcquire::MethodConfig const else _error->Warning(_("The data from '%s' is not signed. Packages " "from that repository can not be authenticated."), - MetaIndex->DataTarget.Description.c_str()); + MetaIndex->Target.Description.c_str()); // ensures that a Release.gpg file in the lists/ is removed by the transaction TransactionManager->TransactionStageRemoval(this, DestFile); @@ -1495,7 +1494,7 @@ void pkgAcqMetaSig::Failed(string const &Message,pkgAcquire::MethodConfig const // AcqBaseIndex - Constructor /*{{{*/ pkgAcqBaseIndex::pkgAcqBaseIndex(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager, - IndexTarget const * const Target) + IndexTarget const Target) : pkgAcqTransactionItem(Owner, TransactionManager, Target) { } @@ -1510,15 +1509,15 @@ pkgAcqBaseIndex::pkgAcqBaseIndex(pkgAcquire * const Owner, */ pkgAcqDiffIndex::pkgAcqDiffIndex(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager, - IndexTarget const * const Target) + IndexTarget const Target) : pkgAcqBaseIndex(Owner, TransactionManager, Target) { Debug = _config->FindB("Debug::pkgAcquire::Diffs",false); Desc.Owner = this; - Desc.Description = Target->Description + ".diff/Index"; - Desc.ShortDesc = Target->ShortDesc; - Desc.URI = Target->URI + ".diff/Index"; + Desc.Description = Target.Description + ".diff/Index"; + Desc.ShortDesc = Target.ShortDesc; + Desc.URI = Target.URI + ".diff/Index"; DestFile = GetPartialFileNameFromURI(Desc.URI); @@ -1599,8 +1598,8 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string const &IndexDiffFile) /*{{{*/ return false; } - std::string const CurrentPackagesFile = GetFinalFileNameFromURI(Target->URI); - HashStringList const TargetFileHashes = GetExpectedHashesFor(Target->MetaKey); + std::string const CurrentPackagesFile = GetFinalFileNameFromURI(Target.URI); + HashStringList const TargetFileHashes = GetExpectedHashesFor(Target.MetaKey); if (TargetFileHashes.usable() == false || ServerHashes != TargetFileHashes) { if (Debug == true) @@ -1614,7 +1613,7 @@ bool pkgAcqDiffIndex::ParseDiffIndex(string const &IndexDiffFile) /*{{{*/ HashStringList LocalHashes; // try avoiding calculating the hash here as this is costly if (TransactionManager->LastMetaIndexParser != NULL) - LocalHashes = GetExpectedHashesFromFor(TransactionManager->LastMetaIndexParser, Target->MetaKey); + LocalHashes = GetExpectedHashesFromFor(TransactionManager->LastMetaIndexParser, Target.MetaKey); if (LocalHashes.usable() == false) { FileFd fd(CurrentPackagesFile, FileFd::ReadOnly); @@ -1910,29 +1909,29 @@ void pkgAcqDiffIndex::Done(string const &Message,HashStringList const &Hashes, / */ pkgAcqIndexDiffs::pkgAcqIndexDiffs(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager, - IndexTarget const * const Target, + IndexTarget const Target, vector<DiffInfo> const &diffs) : pkgAcqBaseIndex(Owner, TransactionManager, Target), available_patches(diffs) { - DestFile = GetPartialFileNameFromURI(Target->URI); + DestFile = GetPartialFileNameFromURI(Target.URI); Debug = _config->FindB("Debug::pkgAcquire::Diffs",false); Desc.Owner = this; - Description = Target->Description; - Desc.ShortDesc = Target->ShortDesc; + Description = Target.Description; + Desc.ShortDesc = Target.ShortDesc; if(available_patches.empty() == true) { // we are done (yeah!), check hashes against the final file - DestFile = GetFinalFileNameFromURI(Target->URI); + DestFile = GetFinalFileNameFromURI(Target.URI); Finish(true); } else { // patching needs to be bootstrapped with the 'old' version - std::string const PartialFile = GetPartialFileNameFromURI(Target->URI); + std::string const PartialFile = GetPartialFileNameFromURI(Target.URI); if (RealFileExists(PartialFile) == false) { if (symlink(GetFinalFilename().c_str(), PartialFile.c_str()) != 0) @@ -1956,7 +1955,7 @@ void pkgAcqIndexDiffs::Failed(string const &Message,pkgAcquire::MethodConfig con if(Debug) std::clog << "pkgAcqIndexDiffs failed: " << Desc.URI << " with " << Message << std::endl << "Falling back to normal index file acquire" << std::endl; - DestFile = GetPartialFileNameFromURI(Target->URI); + DestFile = GetPartialFileNameFromURI(Target.URI); RenameOnError(PDiffError); std::string const patchname = GetDiffsPatchFileName(DestFile); if (RealFileExists(patchname)) @@ -1999,7 +1998,7 @@ void pkgAcqIndexDiffs::Finish(bool allDone) bool pkgAcqIndexDiffs::QueueNextDiff() /*{{{*/ { // calc sha1 of the just patched file - std::string const FinalFile = GetPartialFileNameFromURI(Target->URI); + std::string const FinalFile = GetPartialFileNameFromURI(Target.URI); if(!FileExists(FinalFile)) { @@ -2015,7 +2014,7 @@ bool pkgAcqIndexDiffs::QueueNextDiff() /*{{{*/ if(Debug) std::clog << "QueueNextDiff: " << FinalFile << " (" << LocalHashes.find(NULL)->toStr() << ")" << std::endl; - HashStringList const TargetFileHashes = GetExpectedHashesFor(Target->MetaKey); + HashStringList const TargetFileHashes = GetExpectedHashesFor(Target.MetaKey); if (unlikely(LocalHashes.usable() == false || TargetFileHashes.usable() == false)) { Failed("Local/Expected hashes are not usable", NULL); @@ -2049,9 +2048,9 @@ bool pkgAcqIndexDiffs::QueueNextDiff() /*{{{*/ } // queue the right diff - Desc.URI = Target->URI + ".diff/" + available_patches[0].file + ".gz"; + Desc.URI = Target.URI + ".diff/" + available_patches[0].file + ".gz"; Desc.Description = Description + " " + available_patches[0].file + string(".pdiff"); - DestFile = GetPartialFileNameFromURI(Target->URI + ".diff/" + available_patches[0].file); + DestFile = GetPartialFileNameFromURI(Target.URI + ".diff/" + available_patches[0].file); if(Debug) std::clog << "pkgAcqIndexDiffs::QueueNextDiff(): " << Desc.URI << std::endl; @@ -2069,7 +2068,7 @@ void pkgAcqIndexDiffs::Done(string const &Message, HashStringList const &Hashes, Item::Done(Message, Hashes, Cnf); - std::string const FinalFile = GetPartialFileNameFromURI(Target->URI); + std::string const FinalFile = GetPartialFileNameFromURI(Target.URI); std::string const PatchFile = GetDiffsPatchFileName(FinalFile); // success in downloading a diff, enter ApplyDiff state @@ -2132,7 +2131,7 @@ std::string pkgAcqIndexDiffs::Custom600Headers() const /*{{{*/ // AcqIndexMergeDiffs::AcqIndexMergeDiffs - Constructor /*{{{*/ pkgAcqIndexMergeDiffs::pkgAcqIndexMergeDiffs(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager, - IndexTarget const * const Target, + IndexTarget const Target, DiffInfo const &patch, std::vector<pkgAcqIndexMergeDiffs*> const * const allPatches) : pkgAcqBaseIndex(Owner, TransactionManager, Target), @@ -2141,13 +2140,13 @@ pkgAcqIndexMergeDiffs::pkgAcqIndexMergeDiffs(pkgAcquire * const Owner, Debug = _config->FindB("Debug::pkgAcquire::Diffs",false); Desc.Owner = this; - Description = Target->Description; - Desc.ShortDesc = Target->ShortDesc; + Description = Target.Description; + Desc.ShortDesc = Target.ShortDesc; - Desc.URI = Target->URI + ".diff/" + patch.file + ".gz"; + Desc.URI = Target.URI + ".diff/" + patch.file + ".gz"; Desc.Description = Description + " " + patch.file + string(".pdiff"); - DestFile = GetPartialFileNameFromURI(Target->URI + ".diff/" + patch.file); + DestFile = GetPartialFileNameFromURI(Target.URI + ".diff/" + patch.file); if(Debug) std::clog << "pkgAcqIndexMergeDiffs: " << Desc.URI << std::endl; @@ -2174,7 +2173,7 @@ void pkgAcqIndexMergeDiffs::Failed(string const &Message,pkgAcquire::MethodConfi State = StateErrorDiff; if (Debug) std::clog << "Falling back to normal index file acquire" << std::endl; - DestFile = GetPartialFileNameFromURI(Target->URI); + DestFile = GetPartialFileNameFromURI(Target.URI); RenameOnError(PDiffError); std::string const patchname = GetMergeDiffsPatchFileName(DestFile, patch.file); if (RealFileExists(patchname)) @@ -2190,7 +2189,7 @@ void pkgAcqIndexMergeDiffs::Done(string const &Message, HashStringList const &Ha Item::Done(Message, Hashes, Cnf); - string const FinalFile = GetPartialFileNameFromURI(Target->URI); + string const FinalFile = GetPartialFileNameFromURI(Target.URI); if (State == StateFetchDiff) { Rename(DestFile, GetMergeDiffsPatchFileName(FinalFile, patch.file)); @@ -2241,7 +2240,7 @@ void pkgAcqIndexMergeDiffs::Done(string const &Message, HashStringList const &Ha for (std::vector<pkgAcqIndexMergeDiffs *>::const_iterator I = allPatches->begin(); I != allPatches->end(); ++I) { - std::string const PartialFile = GetPartialFileNameFromURI(Target->URI); + std::string const PartialFile = GetPartialFileNameFromURI(Target.URI); std::string const patch = GetMergeDiffsPatchFileName(PartialFile, (*I)->patch.file); unlink(patch.c_str()); } @@ -2276,12 +2275,12 @@ std::string pkgAcqIndexMergeDiffs::Custom600Headers() const /*{{{*/ // AcqIndex::AcqIndex - Constructor /*{{{*/ pkgAcqIndex::pkgAcqIndex(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager, - IndexTarget const * const Target) + IndexTarget const Target) : pkgAcqBaseIndex(Owner, TransactionManager, Target) { // autoselect the compression method AutoSelectCompression(); - Init(Target->URI, Target->Description, Target->ShortDesc); + Init(Target.URI, Target.Description, Target.ShortDesc); if(_config->FindB("Debug::Acquire::Transaction", false) == true) std::clog << "New pkgIndex with TransactionManager " @@ -2293,12 +2292,12 @@ void pkgAcqIndex::AutoSelectCompression() { std::vector<std::string> types = APT::Configuration::getCompressionTypes(); CompressionExtensions = ""; - if (TransactionManager->MetaIndexParser != NULL && TransactionManager->MetaIndexParser->Exists(Target->MetaKey)) + if (TransactionManager->MetaIndexParser != NULL && TransactionManager->MetaIndexParser->Exists(Target.MetaKey)) { for (std::vector<std::string>::const_iterator t = types.begin(); t != types.end(); ++t) { - std::string CompressedMetaKey = string(Target->MetaKey).append(".").append(*t); + std::string CompressedMetaKey = string(Target.MetaKey).append(".").append(*t); if (*t == "uncompressed" || TransactionManager->MetaIndexParser->Exists(CompressedMetaKey) == true) CompressionExtensions.append(*t).append(" "); @@ -2397,7 +2396,7 @@ string pkgAcqIndex::Custom600Headers() const if (stat(Final.c_str(),&Buf) == 0) msg += "\nLast-Modified: " + TimeRFC1123(Buf.st_mtime); - if(Target->IsOptional) + if(Target.IsOptional) msg += "\nFail-Ignore: true"; return msg; @@ -2413,13 +2412,13 @@ void pkgAcqIndex::Failed(string const &Message,pkgAcquire::MethodConfig const * { if (CompressionExtensions.empty() == false) { - Init(Target->URI, Desc.Description, Desc.ShortDesc); + Init(Target.URI, Desc.Description, Desc.ShortDesc); Status = StatIdle; return; } } - if(Target->IsOptional && GetExpectedHashes().empty() && Stage == STAGE_DOWNLOAD) + if(Target.IsOptional && GetExpectedHashes().empty() && Stage == STAGE_DOWNLOAD) Status = StatDone; else TransactionManager->AbortTransaction(); @@ -2430,7 +2429,7 @@ void pkgAcqIndex::ReverifyAfterIMS() { // update destfile to *not* include the compression extension when doing // a reverify (as its uncompressed on disk already) - DestFile = GetCompressedFileName(Target->URI, GetPartialFileNameFromURI(Target->URI), CurrentCompressionExtension); + DestFile = GetCompressedFileName(Target.URI, GetPartialFileNameFromURI(Target.URI), CurrentCompressionExtension); // copy FinalFile into partial/ so that we check the hash again string FinalFile = GetFinalFilename(); @@ -2509,7 +2508,7 @@ void pkgAcqIndex::StageDownloadDone(string const &Message, HashStringList const // If we have compressed indexes enabled, queue for hash verification if (_config->FindB("Acquire::GzipIndexes",false)) { - DestFile = GetPartialFileNameFromURI(Target->URI + '.' + CurrentCompressionExtension); + DestFile = GetPartialFileNameFromURI(Target.URI + '.' + CurrentCompressionExtension); EraseFileName = ""; Stage = STAGE_DECOMPRESS_AND_VERIFY; Desc.URI = "copy:" + FileName; |