[Box Backup-commit] COMMIT r2228 - box/trunk/lib/common

boxbackup-dev at fluffy.co.uk boxbackup-dev at fluffy.co.uk
Fri Aug 8 23:50:28 BST 2008


Author: chris
Date: 2008-08-08 23:50:28 +0100 (Fri, 08 Aug 2008)
New Revision: 2228

Modified:
   box/trunk/lib/common/Configuration.cpp
Log:
Replace manual pointer management with std::auto_ptr.


Modified: box/trunk/lib/common/Configuration.cpp
===================================================================
--- box/trunk/lib/common/Configuration.cpp	2008-08-08 22:49:42 UTC (rev 2227)
+++ box/trunk/lib/common/Configuration.cpp	2008-08-08 22:50:28 UTC (rev 2228)
@@ -199,32 +199,30 @@
 	FdGetLine getline(file);
 	
 	// Object to create
-	Configuration *pconfig = new Configuration(std::string("<root>"));
+	std::auto_ptr<Configuration> apConfig(
+		new Configuration(std::string("<root>")));
 	
 	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<Configuration>(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<Configuration>(0);
 			}
 		}
@@ -232,13 +230,11 @@
 	catch(...)
 	{
 		// Clean up
-		delete pconfig;
-		pconfig = 0;
 		throw;
 	}
 	
 	// Success. Return result.
-	return std::auto_ptr<Configuration>(pconfig);
+	return apConfig;
 }
 
 




More information about the Boxbackup-commit mailing list