summaryrefslogtreecommitdiffstats
path: root/src/uscxml/util
diff options
context:
space:
mode:
authorStefan Radomski <github@mintwerk.de>2016-05-12 22:47:38 (GMT)
committerStefan Radomski <github@mintwerk.de>2016-05-12 22:47:38 (GMT)
commit280b5072b35cb9658ad4e6be0203a587c0593b1c (patch)
treeabfb59100608dba6df017d3ed52cde3bdf471b74 /src/uscxml/util
parent11e7301fb1f86a35e35072c8e4753095d28dc43c (diff)
downloaduscxml-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.cpp12
-rw-r--r--src/uscxml/util/DOM.h17
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);