From: Michael Vogt Date: Sun, 10 Jun 2007 21:55:03 +0000 (+0200) Subject: * apt-pkg/pkgrecords.cc,h: X-Git-Tag: 0.7.21~276 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/3025794355fa84971e8d5d4f9e499258f769b127?hp=--cc * apt-pkg/pkgrecords.cc,h: - merge fix in destructor code --- 3025794355fa84971e8d5d4f9e499258f769b127 diff --cc apt-pkg/pkgrecords.cc index 0aaa2096a,0aaa2096a..e506de73a --- a/apt-pkg/pkgrecords.cc +++ b/apt-pkg/pkgrecords.cc @@@ -20,25 -20,25 +20,23 @@@ // 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) : 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 /*{{{*/ @@@ -46,9 -46,9 +44,12 @@@ /* */ pkgRecords::~pkgRecords() { -- for (unsigned I = 0; I != Cache.HeaderP->PackageFileCount; I++) -- delete Files[I]; -- delete [] Files; ++ for ( vector::iterator it = Files.begin(); ++ it != Files.end(); ++ ++it) ++ { ++ delete *it; ++ } } /*}}}*/ // Records::Lookup - Get a parser for the package version file /*{{{*/ diff --cc apt-pkg/pkgrecords.h index ea1a23fc4,ea1a23fc4..7b9f51a50 --- a/apt-pkg/pkgrecords.h +++ b/apt-pkg/pkgrecords.h @@@ -20,6 -20,6 +20,7 @@@ #include #include ++#include class pkgRecords { @@@ -29,8 -29,8 +30,8 @@@ private: pkgCache &Cache; -- Parser **Files; -- ++ std::vectorFiles; ++ public: // Lookup function