diff options
author | Stefan Radomski <github@mintwerk.de> | 2016-05-12 22:47:38 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2016-05-12 22:47:38 (GMT) |
commit | 280b5072b35cb9658ad4e6be0203a587c0593b1c (patch) | |
tree | abfb59100608dba6df017d3ed52cde3bdf471b74 /src/uscxml/util | |
parent | 11e7301fb1f86a35e35072c8e4753095d28dc43c (diff) | |
download | uscxml-280b5072b35cb9658ad4e6be0203a587c0593b1c.zip uscxml-280b5072b35cb9658ad4e6be0203a587c0593b1c.tar.gz uscxml-280b5072b35cb9658ad4e6be0203a587c0593b1c.tar.bz2 |
Conditionalized V8 on version and used C++11 list initializers
Diffstat (limited to 'src/uscxml/util')
-rw-r--r-- | src/uscxml/util/DOM.cpp | 12 | ||||
-rw-r--r-- | src/uscxml/util/DOM.h | 17 |
2 files changed, 9 insertions, 20 deletions
diff --git a/src/uscxml/util/DOM.cpp b/src/uscxml/util/DOM.cpp index c7ed1e9..b68901c 100644 --- a/src/uscxml/util/DOM.cpp +++ b/src/uscxml/util/DOM.cpp @@ -233,6 +233,9 @@ void DOMUtils::inPostFixOrder(const std::set<std::string>& elements, const bool includeEmbeddedDoc, std::list<DOMElement*>& nodes) { + if (root == NULL) + return; + DOMNodeList* children = root->getChildNodes(); for (size_t i = 0; i < children->getLength(); i++) { if (children->item(i)->getNodeType() != DOMNode::ELEMENT_NODE) @@ -257,8 +260,8 @@ void DOMUtils::inPostFixOrder(const std::set<std::string>& elements, } std::list<DOMElement*> DOMUtils::inDocumentOrder(const std::set<std::string>& elements, - const DOMElement* root, - const bool includeEmbeddedDoc) { + const DOMElement* root, + const bool includeEmbeddedDoc) { std::list<DOMElement*> nodes; inDocumentOrder(elements, root, includeEmbeddedDoc, nodes); return nodes; @@ -268,7 +271,10 @@ void DOMUtils::inDocumentOrder(const std::set<std::string>& elements, const DOMElement* root, const bool includeEmbeddedDoc, std::list<DOMElement*>& nodes) { - if (elements.find(TAGNAME(root)) != elements.end()) { + if (root == NULL) + return; + + if (elements.find(TAGNAME(root)) != elements.end()) { nodes.push_back((DOMElement*)root); } diff --git a/src/uscxml/util/DOM.h b/src/uscxml/util/DOM.h index 4eb0e36..1f2ced2 100644 --- a/src/uscxml/util/DOM.h +++ b/src/uscxml/util/DOM.h @@ -75,27 +75,10 @@ public: static std::list<xercesc::DOMNode*> getElementsByType(const xercesc::DOMNode* root, xercesc::DOMNode::NodeType type); - static std::list<xercesc::DOMElement*> inPostFixOrder(const std::string& element, - const xercesc::DOMElement* root, - const bool includeEmbeddedDoc = false) { - std::set<std::string> elements; - elements.insert(element); - return inPostFixOrder(elements, root, includeEmbeddedDoc); - } - static std::list<xercesc::DOMElement*> inPostFixOrder(const std::set<std::string>& elements, const xercesc::DOMElement* root, const bool includeEmbeddedDoc = false); - - static std::list<xercesc::DOMElement*> inDocumentOrder(const std::string& element, - const xercesc::DOMElement* root, - const bool includeEmbeddedDoc = false) { - std::set<std::string> elements; - elements.insert(element); - return inDocumentOrder(elements, root, includeEmbeddedDoc); - } - static std::list<xercesc::DOMElement*> inDocumentOrder(const std::set<std::string>& elements, const xercesc::DOMElement* root, const bool includeEmbeddedDoc = false); |