X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/6c55f07a5fa3612a5d59c61a17da5fe640eadc8b..6789e01e9370b3b7f65d52138c5657eaa712b4d1:/apt-pkg/indexcopy.cc diff --git a/apt-pkg/indexcopy.cc b/apt-pkg/indexcopy.cc index 6d210e65b..c54b365dc 100644 --- a/apt-pkg/indexcopy.cc +++ b/apt-pkg/indexcopy.cc @@ -19,18 +19,19 @@ #include #include #include -#include +#include #include #include #include +#include #include -#include #include #include #include #include #include +#include #include "indexcopy.h" #include @@ -89,7 +90,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector &List, off_t const FileSize = Pkg.Size(); pkgTagFile Parser(&Pkg); - if (_error->PendingError() == true) + if (Pkg.IsOpen() == false || Pkg.Failed()) return false; // Open the output file @@ -106,7 +107,7 @@ bool IndexCopy::CopyPackages(string CDROM,string Name,vector &List, } else { Target.Open(TargetF,FileFd::WriteAtomic); } - if (_error->PendingError() == true) + if (Target.IsOpen() == false || Target.Failed()) return false; // Setup the progress meter @@ -476,9 +477,9 @@ bool SourceCopy::RewriteEntry(FileFd &Target, std::string const &File) } /*}}}*/ // SigVerify::Verify - Verify a files md5sum against its metaindex /*{{{*/ -bool SigVerify::Verify(string prefix, string file, indexRecords *MetaIndex) +bool SigVerify::Verify(string prefix, string file, metaIndex *MetaIndex) { - const indexRecords::checkSum *Record = MetaIndex->Lookup(file); + const metaIndex::checkSum *Record = MetaIndex->Lookup(file); bool const Debug = _config->FindB("Debug::aptcdrom",false); // we skip non-existing files in the verifcation of the Release file @@ -545,11 +546,11 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector &SigList, // Read all Release files for (vector::iterator I = SigList.begin(); I != SigList.end(); ++I) - { + { if(Debug) cout << "Signature verify for: " << *I << endl; - indexRecords *MetaIndex = new indexRecords; + metaIndex *MetaIndex = new debReleaseIndex("",""); string prefix = *I; string const releasegpg = *I+"Release.gpg"; @@ -591,12 +592,13 @@ bool SigVerify::CopyAndVerify(string CDROM,string Name,vector &SigList, } // Open the Release file and add it to the MetaIndex - if(!MetaIndex->Load(release)) + std::string ErrorText; + if(MetaIndex->Load(release, &ErrorText) == false) { - _error->Error("%s",MetaIndex->ErrorText.c_str()); + _error->Error("%s", ErrorText.c_str()); return false; } - + // go over the Indexfiles and see if they verify // if so, remove them from our copy of the lists vector keys = MetaIndex->MetaKeys(); @@ -681,7 +683,7 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ off_t const FileSize = Pkg.Size(); pkgTagFile Parser(&Pkg); - if (_error->PendingError() == true) + if (Pkg.IsOpen() == false || Pkg.Failed()) return false; // Open the output file @@ -698,7 +700,7 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name, /*{{{*/ } else { Target.Open(TargetF,FileFd::WriteAtomic); } - if (_error->PendingError() == true) + if (Pkg.IsOpen() == false || Pkg.Failed()) return false; // Setup the progress meter