From e971072e6917645975cc2a88eb94253bfaf5990f Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Mon, 13 Jan 2025 19:47:35 +0100 Subject: packagemanager: Use smart pointers --- apt-pkg/packagemanager.cc | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'apt-pkg/packagemanager.cc') diff --git a/apt-pkg/packagemanager.cc b/apt-pkg/packagemanager.cc index ce7677e83..05a4f7f27 100644 --- a/apt-pkg/packagemanager.cc +++ b/apt-pkg/packagemanager.cc @@ -44,9 +44,9 @@ bool pkgPackageManager::SigINTStop = false; // --------------------------------------------------------------------- /* */ pkgPackageManager::pkgPackageManager(pkgDepCache *pCache) : Cache(*pCache), - List(NULL), Res(Incomplete), d(NULL) + List(nullptr), Res(Incomplete), d(nullptr) { - FileNames = new string[Cache.Head().PackageCount]; + FileNames = std::make_unique(Cache.Head().PackageCount); Debug = _config->FindB("Debug::pkgPackageManager",false); NoImmConfigure = !_config->FindB("APT::Immediate-Configure",true); ImmConfigureAll = _config->FindB("APT::Immediate-Configure-All",false); @@ -55,11 +55,7 @@ pkgPackageManager::pkgPackageManager(pkgDepCache *pCache) : Cache(*pCache), // PM::PackageManager - Destructor /*{{{*/ // --------------------------------------------------------------------- /* */ -pkgPackageManager::~pkgPackageManager() -{ - delete List; - delete [] FileNames; -} +pkgPackageManager::~pkgPackageManager() = default; /*}}}*/ // PM::GetArchives - Queue the archives for download /*{{{*/ // --------------------------------------------------------------------- @@ -109,7 +105,7 @@ bool pkgPackageManager::FixMissing() { pkgDepCache::ActionGroup group(Cache); pkgProblemResolver Resolve(&Cache); - List->SetFileList(FileNames); + List->SetFileList(FileNames.get()); bool Bad = false; for (PkgIterator I = Cache.PkgBegin(); I.end() == false; ++I) @@ -123,8 +119,7 @@ bool pkgPackageManager::FixMissing() } // We have to empty the list otherwise it will not have the new changes - delete List; - List = 0; + List.reset(); if (Bad == false) return true; @@ -176,8 +171,7 @@ bool pkgPackageManager::CreateOrderList() if (List != 0) return true; - delete List; - List = new pkgOrderList(&Cache); + List = std::make_unique(&Cache); if (Debug && ImmConfigureAll) clog << "CreateOrderList(): Adding Immediate flag for all packages because of APT::Immediate-Configure-All" << endl; @@ -1065,7 +1059,7 @@ pkgPackageManager::OrderResult pkgPackageManager::OrderInstall() bool const ordering = _config->FindB("PackageManager::UnpackAll",true) ? - List->OrderUnpack(FileNames) : List->OrderCritical(); + List->OrderUnpack(FileNames.get()) : List->OrderCritical(); if (ordering == false) { _error->Error("Internal ordering error"); -- cgit v1.2.3-70-g09d2