X-Git-Url: http://git.hcoop.net/ntk/apt.git/blobdiff_plain/131a2dc0cb36c29d002c2a61f96411e5d84f4adf..7f48c4dfbb1f27c51044edde0692d7446ee74438:/apt-pkg/pkgrecords.cc diff --git a/apt-pkg/pkgrecords.cc b/apt-pkg/pkgrecords.cc index b22f3e73..c403e4dc 100644 --- a/apt-pkg/pkgrecords.cc +++ b/apt-pkg/pkgrecords.cc @@ -9,39 +9,40 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#ifdef __GNUG__ -#pragma implementation "apt-pkg/pkgrecords.h" -#endif +#include + #include #include #include -#include - -#include +#include +#include + +#include +#include + +#include /*}}}*/ // Records::pkgRecords - Constructor /*{{{*/ // --------------------------------------------------------------------- /* This will create the necessary structures to access the status files */ -pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache), Files(0) +pkgRecords::pkgRecords(pkgCache &Cache) : d(NULL), Cache(Cache), + Files(Cache.HeaderP->PackageFileCount) { - Files = new Parser *[Cache.HeaderP->PackageFileCount]; - memset(Files,0,sizeof(*Files)*Cache.HeaderP->PackageFileCount); - - for (pkgCache::PkgFileIterator I = Cache.FileBegin(); - I.end() == false; I++) + for (pkgCache::PkgFileIterator I = Cache.FileBegin(); + I.end() == false; ++I) { const pkgIndexFile::Type *Type = pkgIndexFile::Type::GetType(I.IndexType()); if (Type == 0) { - _error->Error(_("Index file type '%s' is not supported"),I.IndexType()); - return; + _error->Error(_("Index file type '%s' is not supported"),I.IndexType()); + return; } Files[I->ID] = Type->CreatePkgParser(I); if (Files[I->ID] == 0) - return; - } + return; + } } /*}}}*/ // Records::~pkgRecords - Destructor /*{{{*/ @@ -49,9 +50,12 @@ pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache), Files(0) /* */ pkgRecords::~pkgRecords() { - for (unsigned I = 0; I != Cache.HeaderP->PackageFileCount; I++) - delete Files[I]; - delete [] Files; + for ( std::vector::iterator it = Files.begin(); + it != Files.end(); + ++it) + { + delete *it; + } } /*}}}*/ // Records::Lookup - Get a parser for the package version file /*{{{*/