diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2015-05-13 11:56:24 +0200 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2015-05-13 11:56:24 +0200 |
commit | de30f7538a865a2ee7acb7dd8294fb6cdc4f98be (patch) | |
tree | ba11189e6e83e83e73167518b45641fc287c8eda /src/Config.cpp | |
parent | 6504cffdbe74d9b671222a7ec24b26fbb4f871f0 (diff) | |
parent | 86ad56f005d9d3871f654390739459d5634dd5d5 (diff) | |
download | astra-de30f7538a865a2ee7acb7dd8294fb6cdc4f98be.tar.gz astra-de30f7538a865a2ee7acb7dd8294fb6cdc4f98be.tar.bz2 astra-de30f7538a865a2ee7acb7dd8294fb6cdc4f98be.tar.xz astra-de30f7538a865a2ee7acb7dd8294fb6cdc4f98be.zip |
Merge branch 'master'
Diffstat (limited to 'src/Config.cpp')
-rw-r--r-- | src/Config.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/Config.cpp b/src/Config.cpp index d860638..395080b 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -45,31 +45,33 @@ 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; } //----------------------------------------------------------------------------- Config::~Config() { - delete self; - self = 0; + delete _doc; + _doc = 0; } //----------------------------------------------------------------------------- void Config::initialize(std::string rootname) { - if (self == 0) { + if (!self) { XMLDocument* doc = XMLDocument::createDocument(rootname); self = doc->getRootNode(); + _doc = doc; } } @@ -124,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; @@ -142,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()) { |