[Box Backup-commit] COMMIT r3039 - box/trunk/lib/backupstore

subversion at boxbackup.org subversion at boxbackup.org
Tue Nov 1 23:37:58 GMT 2011


Author: chris
Date: 2011-11-01 23:37:58 +0000 (Tue, 01 Nov 2011)
New Revision: 3039

Modified:
   box/trunk/lib/backupstore/BackupStoreInfo.cpp
Log:
Use a macro to verify block count adjustments to reduce duplicate code.


Modified: box/trunk/lib/backupstore/BackupStoreInfo.cpp
===================================================================
--- box/trunk/lib/backupstore/BackupStoreInfo.cpp	2011-11-01 23:37:12 UTC (rev 3038)
+++ box/trunk/lib/backupstore/BackupStoreInfo.cpp	2011-11-01 23:37:58 UTC (rev 3039)
@@ -453,6 +453,23 @@
 	return numChanges;
 }
 
+#define APPLY_DELTA(field, delta) \
+	if(mReadOnly) \
+	{ \
+		THROW_EXCEPTION(BackupStoreException, StoreInfoIsReadOnly) \
+	} \
+	\
+	if((field + delta) < 0) \
+	{ \
+		THROW_EXCEPTION_MESSAGE(BackupStoreException, \
+			StoreInfoBlockDeltaMakesValueNegative, \
+			"Failed to reduce " << #field << " from " << \
+			field << " by " << delta); \
+	} \
+	\
+	field += delta; \
+	mIsModified = true;
+
 // --------------------------------------------------------------------------
 //
 // Function
@@ -463,18 +480,7 @@
 // --------------------------------------------------------------------------
 void BackupStoreInfo::ChangeBlocksUsed(int64_t Delta)
 {
-	if(mReadOnly)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoIsReadOnly)
-	}
-	if((mBlocksUsed + Delta) < 0)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoBlockDeltaMakesValueNegative)
-	}
-	
-	mBlocksUsed += Delta;
-	
-	mIsModified = true;
+	APPLY_DELTA(mBlocksUsed, Delta);
 }
 
 // --------------------------------------------------------------------------
@@ -488,19 +494,7 @@
 // --------------------------------------------------------------------------
 void BackupStoreInfo::ChangeBlocksInCurrentFiles(int64_t Delta)
 {
-	if(mReadOnly)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoIsReadOnly)
-	}
-
-	if((mBlocksInCurrentFiles + Delta) < 0)
-	{
-		THROW_EXCEPTION(BackupStoreException,
-			StoreInfoBlockDeltaMakesValueNegative)
-	}
-	
-	mBlocksInCurrentFiles += Delta;
-	mIsModified = true;
+	APPLY_DELTA(mBlocksInCurrentFiles, Delta);
 }
 
 // --------------------------------------------------------------------------
@@ -513,18 +507,7 @@
 // --------------------------------------------------------------------------
 void BackupStoreInfo::ChangeBlocksInOldFiles(int64_t Delta)
 {
-	if(mReadOnly)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoIsReadOnly)
-	}
-	if((mBlocksInOldFiles + Delta) < 0)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoBlockDeltaMakesValueNegative)
-	}
-	
-	mBlocksInOldFiles += Delta;
-	
-	mIsModified = true;
+	APPLY_DELTA(mBlocksInOldFiles, Delta);
 }
 
 // --------------------------------------------------------------------------
@@ -537,18 +520,7 @@
 // --------------------------------------------------------------------------
 void BackupStoreInfo::ChangeBlocksInDeletedFiles(int64_t Delta)
 {
-	if(mReadOnly)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoIsReadOnly)
-	}
-	if((mBlocksInDeletedFiles + Delta) < 0)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoBlockDeltaMakesValueNegative)
-	}
-	
-	mBlocksInDeletedFiles += Delta;
-	
-	mIsModified = true;
+	APPLY_DELTA(mBlocksInDeletedFiles, Delta);
 }
 
 // --------------------------------------------------------------------------
@@ -561,83 +533,27 @@
 // --------------------------------------------------------------------------
 void BackupStoreInfo::ChangeBlocksInDirectories(int64_t Delta)
 {
-	if(mReadOnly)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoIsReadOnly)
-	}
-	if((mBlocksInDirectories + Delta) < 0)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoBlockDeltaMakesValueNegative)
-	}
-	
-	mBlocksInDirectories += Delta;
-	
-	mIsModified = true;
+	APPLY_DELTA(mBlocksInDirectories, Delta);
 }
 
 void BackupStoreInfo::AdjustNumFiles(int64_t increase)
 {
-	if(mReadOnly)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoIsReadOnly)
-	}
-
-	if((mNumFiles + increase) < 0)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoBlockDeltaMakesValueNegative)
-	}
-	
-	mNumFiles += increase;
-	mIsModified = true;
-
+	APPLY_DELTA(mNumFiles, increase);
 }
 
 void BackupStoreInfo::AdjustNumOldFiles(int64_t increase)
 {
-	if(mReadOnly)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoIsReadOnly)
-	}
-
-	if((mNumOldFiles + increase) < 0)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoBlockDeltaMakesValueNegative)
-	}
-	
-	mNumOldFiles += increase;
-	mIsModified = true;
+	APPLY_DELTA(mNumOldFiles, increase);
 }
 
 void BackupStoreInfo::AdjustNumDeletedFiles(int64_t increase)
 {
-	if(mReadOnly)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoIsReadOnly)
-	}
-
-	if((mNumDeletedFiles + increase) < 0)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoBlockDeltaMakesValueNegative)
-	}
-	
-	mNumDeletedFiles += increase;
-	mIsModified = true;
+	APPLY_DELTA(mNumDeletedFiles, increase);
 }
 
 void BackupStoreInfo::AdjustNumDirectories(int64_t increase)
 {
-	if(mReadOnly)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoIsReadOnly)
-	}
-
-	if((mNumDirectories + increase) < 0)
-	{
-		THROW_EXCEPTION(BackupStoreException, StoreInfoBlockDeltaMakesValueNegative)
-	}
-	
-	mNumDirectories += increase;
-	mIsModified = true;
+	APPLY_DELTA(mNumDirectories, increase);
 }
 
 // --------------------------------------------------------------------------




More information about the Boxbackup-commit mailing list