From 6b63af31c23ae02a4d9f6d3ea69fe27fc219701a Mon Sep 17 00:00:00 2001
From: whh8b <whh8b@git.zephyr-software.com>
Date: Fri, 24 Oct 2014 17:35:19 +0000
Subject: [PATCH] Add options support to MemorySpace_t

---
 include/memory_space.h |  7 ++++++-
 src/memory_space.cpp   | 11 ++++++-----
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/include/memory_space.h b/include/memory_space.h
index 2270c63..8133d21 100644
--- a/include/memory_space.h
+++ b/include/memory_space.h
@@ -31,10 +31,13 @@
 #ifndef memory_space_h
 #define memory_space_h
 
+class Options_t;
+
 class MemorySpace_t
 {
 	public:
-		MemorySpace_t() { }
+		MemorySpace_t():m_opts(NULL) { }
+		MemorySpace_t(Options_t *opts):m_opts(opts) { }
 
 		// range operatations
 		void SplitFreeRange(RangeAddress_t addr);
@@ -50,8 +53,10 @@ class MemorySpace_t
 
 		int GetRangeCount();
 
+		void PrintMemorySpace(std::ostream &out);
 	protected:
 		std::list<Range_t> free_ranges;   // keep ordered
+		Options_t *m_opts;
 };
 
 #endif
diff --git a/src/memory_space.cpp b/src/memory_space.cpp
index 562160f..903cf4a 100644
--- a/src/memory_space.cpp
+++ b/src/memory_space.cpp
@@ -59,7 +59,7 @@ void MemorySpace_t::MergeFreeRange(RangeAddress_t addr)
 			 * one byte smaller!
 			 */
 			Range_t nnr(addr, r.GetEnd());
-			if (true) //if(m_opts.GetVerbose())
+			if(m_opts != NULL && m_opts->GetVerbose())
 			{
 				printf("Expanded range:\n");
 				printf("from: %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd());
@@ -76,7 +76,7 @@ void MemorySpace_t::MergeFreeRange(RangeAddress_t addr)
 			 * bigger
 			 */
 			Range_t nnr(r.GetStart(), addr);
-			if (true) //if(m_opts.GetVerbose())
+			if(m_opts != NULL && m_opts->GetVerbose())
 			{
 				printf("Expanded range:\n");
 				printf("from: %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd());
@@ -126,11 +126,12 @@ void MemorySpace_t::MergeFreeRange(RangeAddress_t addr)
 			 * merge.
 			 */
 			Range_t merged_range(std::min(r.GetStart(), nr.GetStart()), std::max(r.GetEnd(), nr.GetEnd()));
-			if (true) //if(m_opts.GetVerbose())
+			if(m_opts != NULL && m_opts->GetVerbose())
 			{
 				printf("Merged two ranges:\n");
-				printf("1: %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd());
-				printf("2: %p to %p\n", (void*)nr.GetStart(), (void*)nr.GetEnd());
+				printf("r:  %p to %p\n", (void*)r.GetStart(), (void*)r.GetEnd());
+				printf("nr: %p to %p\n", (void*)nr.GetStart(), (void*)nr.GetEnd());
+				printf("to: %p to %p\n", (void*)merged_range.GetStart(), (void*)merged_range.GetEnd());
 			}
 			free_ranges.insert(it, merged_range);
 			free_ranges.erase(it);
-- 
GitLab