From 47fe3421585302f2101691a685ab99b0e1ad5cfc Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn 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::stopParsing() std::string errors; - std::list nodes = cfg->self->getNodes(); - for (std::list::iterator i = nodes.begin(); i != nodes.end(); ++i) + std::list nodes = cfg->self.getNodes(); + for (std::list::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::stopParsing() } } } - for (std::list::iterator i = nodes.begin(); i != nodes.end(); ++i) - delete (*i); nodes.clear(); if (!errors.empty()) { -- cgit v1.2.3