From 150951875c236f95a64fd132c26576bd19daca80 Mon Sep 17 00:00:00 2001
From: "Daniel M. Pelt" <D.M.Pelt@cwi.nl>
Date: Tue, 10 Mar 2015 15:11:15 +0100
Subject: Use new logging API internally instead of printf / iostream

---
 src/Config.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

(limited to 'src/Config.cpp')

diff --git a/src/Config.cpp b/src/Config.cpp
index 653935e..0a85b3c 100644
--- a/src/Config.cpp
+++ b/src/Config.cpp
@@ -37,6 +37,9 @@ $Id$
 #include "astra/Projector2D.h"
 #include "astra/Projector3D.h"
 
+#include "astra/Logging.h"
+#include <sstream>
+
 using namespace astra;
 using namespace std;
 
@@ -144,7 +147,9 @@ bool ConfigStackCheck<T>::stopParsing()
 	nodes.clear();
 
 	if (!errors.empty()) {
-		cout << "Warning: " << name << ": unused configuration options: " << errors << std::endl;
+		ostringstream os;
+		os << "Warning: " << name << ": unused configuration options: " << errors;
+		astra::CLogger::warn(__FILE__,__LINE__,os.str().c_str());
 		return false;
 	}
 
-- 
cgit v1.2.3


From c5507b6ef2abfab169150528a374526bb348bf62 Mon Sep 17 00:00:00 2001
From: "Daniel M. Pelt" <D.M.Pelt@cwi.nl>
Date: Fri, 13 Mar 2015 12:18:21 +0100
Subject: Adds ASTRA_*** defines for easier logging, and changes internal calls
 to these defines

---
 src/Config.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src/Config.cpp')

diff --git a/src/Config.cpp b/src/Config.cpp
index 0a85b3c..388cfdf 100644
--- a/src/Config.cpp
+++ b/src/Config.cpp
@@ -149,7 +149,7 @@ bool ConfigStackCheck<T>::stopParsing()
 	if (!errors.empty()) {
 		ostringstream os;
 		os << "Warning: " << name << ": unused configuration options: " << errors;
-		astra::CLogger::warn(__FILE__,__LINE__,os.str().c_str());
+		ASTRA_WARN(os.str().c_str());
 		return false;
 	}
 
-- 
cgit v1.2.3


From 35fadf8641b05d357a37e8098b9a801ba0e815b9 Mon Sep 17 00:00:00 2001
From: "Daniel M. Pelt" <D.M.Pelt@cwi.nl>
Date: Fri, 13 Mar 2015 17:22:41 +0100
Subject: Use a less verbose default fmt for screen logging and cleaner
 messages

---
 src/Config.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src/Config.cpp')

diff --git a/src/Config.cpp b/src/Config.cpp
index 388cfdf..d860638 100644
--- a/src/Config.cpp
+++ b/src/Config.cpp
@@ -148,7 +148,7 @@ bool ConfigStackCheck<T>::stopParsing()
 
 	if (!errors.empty()) {
 		ostringstream os;
-		os << "Warning: " << name << ": unused configuration options: " << errors;
+		os << name << ": unused configuration options: " << errors;
 		ASTRA_WARN(os.str().c_str());
 		return false;
 	}
-- 
cgit v1.2.3


From bf31003d74f538a9096ef5999b31b0daa58c38c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jeroen=20B=C3=A9dorf?= <jeroen@bedorf.net>
Date: Thu, 2 Apr 2015 12:04:31 +0200
Subject: Fix memory leak in the config

---
 src/Config.cpp | 5 +++++
 1 file changed, 5 insertions(+)

(limited to 'src/Config.cpp')

diff --git a/src/Config.cpp b/src/Config.cpp
index d860638..32e5ed9 100644
--- a/src/Config.cpp
+++ b/src/Config.cpp
@@ -48,6 +48,7 @@ using namespace std;
 Config::Config()
 {
 	self = 0;
+	_doc = 0;
 }
 
 //-----------------------------------------------------------------------------
@@ -55,6 +56,7 @@ Config::Config()
 Config::Config(XMLNode* _self) 
 {
 	self = _self;
+	_doc = 0;
 }
 
 //-----------------------------------------------------------------------------
@@ -62,6 +64,8 @@ Config::~Config()
 {
 	delete self;
 	self = 0;
+	delete _doc;
+	_doc = 0;
 }
 
 //-----------------------------------------------------------------------------
@@ -70,6 +74,7 @@ void Config::initialize(std::string rootname)
 	if (self == 0) {
 		XMLDocument* doc = XMLDocument::createDocument(rootname);
 		self = doc->getRootNode();		
+		_doc = doc;
 	}
 }
 
-- 
cgit v1.2.3


From 47fe3421585302f2101691a685ab99b0e1ad5cfc Mon Sep 17 00:00:00 2001
From: Willem Jan Palenstijn <wjp@usecode.org>
Date: Fri, 1 May 2015 17:48:32 +0200
Subject: Change XMLNode* to XMLNode

An XMLNode object is already simply a pointer, so no need to dynamically allocate XMLNodes.
---
 src/Config.cpp | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

(limited to 'src/Config.cpp')

diff --git a/src/Config.cpp b/src/Config.cpp
index 32e5ed9..395080b 100644
--- a/src/Config.cpp
+++ b/src/Config.cpp
@@ -45,15 +45,14 @@ using namespace std;
 
 //-----------------------------------------------------------------------------
 // default constructor
-Config::Config()
+Config::Config() : self()
 {
-	self = 0;
 	_doc = 0;
 }
 
 //-----------------------------------------------------------------------------
 // not so default constructor
-Config::Config(XMLNode* _self) 
+Config::Config(XMLNode _self)
 {
 	self = _self;
 	_doc = 0;
@@ -62,8 +61,6 @@ Config::Config(XMLNode* _self)
 //-----------------------------------------------------------------------------
 Config::~Config()
 {
-	delete self;
-	self = 0;
 	delete _doc;
 	_doc = 0;
 }
@@ -71,7 +68,7 @@ Config::~Config()
 //-----------------------------------------------------------------------------
 void Config::initialize(std::string rootname)
 {
-	if (self == 0) {
+	if (!self) {
 		XMLDocument* doc = XMLDocument::createDocument(rootname);
 		self = doc->getRootNode();		
 		_doc = doc;
@@ -129,13 +126,13 @@ bool ConfigStackCheck<T>::stopParsing()
 
 	std::string errors;
 
-	std::list<XMLNode*> nodes = cfg->self->getNodes();
-	for (std::list<XMLNode*>::iterator i = nodes.begin(); i != nodes.end(); ++i)
+	std::list<XMLNode> nodes = cfg->self.getNodes();
+	for (std::list<XMLNode>::iterator i = nodes.begin(); i != nodes.end(); ++i)
 	{
-		std::string nodeName = (*i)->getName();
+		std::string nodeName = i->getName();
 
 		if (nodeName == "Option") {
-			nodeName = (*i)->getAttribute("key", "");
+			nodeName = i->getAttribute("key", "");
 			if (object->configCheckData->parsedOptions.find(nodeName) == object->configCheckData->parsedOptions.end()) {
 				if (!errors.empty()) errors += ", ";
 				errors += nodeName;
@@ -147,8 +144,6 @@ bool ConfigStackCheck<T>::stopParsing()
 			}
 		}
 	}
-	for (std::list<XMLNode*>::iterator i = nodes.begin(); i != nodes.end(); ++i)
-		delete (*i);
 	nodes.clear();
 
 	if (!errors.empty()) {
-- 
cgit v1.2.3