From 9fdae18f3c3f00433b30cde744b338feea492163 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 8 Aug 2008 22:50:28 +0000 Subject: Replace manual pointer management with std::auto_ptr. --- lib/common/Configuration.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/lib/common/Configuration.cpp b/lib/common/Configuration.cpp index d1145bb5..c4253938 100644 --- a/lib/common/Configuration.cpp +++ b/lib/common/Configuration.cpp @@ -199,32 +199,30 @@ std::auto_ptr Configuration::LoadAndVerify( FdGetLine getline(file); // Object to create - Configuration *pconfig = new Configuration(std::string("")); + std::auto_ptr apConfig( + new Configuration(std::string(""))); try { // Load - LoadInto(*pconfig, getline, rErrorMsg, true); + LoadInto(*apConfig, getline, rErrorMsg, true); if(!rErrorMsg.empty()) { // An error occured, return now BOX_ERROR("Error in Configuration::LoadInto: " << rErrorMsg); - delete pconfig; - pconfig = 0; return std::auto_ptr(0); } // Verify? if(pVerify) { - if(!Verify(*pconfig, *pVerify, std::string(), rErrorMsg)) + if(!Verify(*apConfig, *pVerify, std::string(), + rErrorMsg)) { BOX_ERROR("Error verifying configuration: " << rErrorMsg); - delete pconfig; - pconfig = 0; return std::auto_ptr(0); } } @@ -232,13 +230,11 @@ std::auto_ptr Configuration::LoadAndVerify( catch(...) { // Clean up - delete pconfig; - pconfig = 0; throw; } // Success. Return result. - return std::auto_ptr(pconfig); + return apConfig; } -- cgit v1.2.3