summaryrefslogtreecommitdiffstats
path: root/src/uscxml/DOMUtils.cpp
diff options
context:
space:
mode:
authorStefan Radomski <sradomski@mintwerk.de>2016-01-19 22:08:38 (GMT)
committerStefan Radomski <sradomski@mintwerk.de>2016-01-19 22:08:38 (GMT)
commitb5abd34bfcc07588c7220d094a04dbc5708d344b (patch)
treea4a352a332ace04e5ce66fb29c4f8c9efd351af5 /src/uscxml/DOMUtils.cpp
parent024d82815dc6f2e2298fc8661424c25dd4c79d85 (diff)
downloaduscxml-b5abd34bfcc07588c7220d094a04dbc5708d344b.zip
uscxml-b5abd34bfcc07588c7220d094a04dbc5708d344b.tar.gz
uscxml-b5abd34bfcc07588c7220d094a04dbc5708d344b.tar.bz2
Fixed a bug in generated C with deep initial states
Diffstat (limited to 'src/uscxml/DOMUtils.cpp')
-rw-r--r--src/uscxml/DOMUtils.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/uscxml/DOMUtils.cpp b/src/uscxml/DOMUtils.cpp
index 7e834f8..50548c3 100644
--- a/src/uscxml/DOMUtils.cpp
+++ b/src/uscxml/DOMUtils.cpp
@@ -39,7 +39,10 @@ std::string DOMUtils::idForNode(const Arabica::DOM::Node<std::string>& node) {
case Arabica::DOM::Node_base::ELEMENT_NODE: {
Arabica::DOM::Element<std::string> elem = Arabica::DOM::Element<std::string>(curr);
if (HAS_ATTR(elem, "id") && !UUID::isUUID(ATTR(elem, "id"))) {
- nodeId.insert(0, ATTR(elem, "id") + seperator);
+ std::string elementId = ATTR(elem, "id");
+ boost::replace_all(elementId, ".", "_");
+ boost::replace_all(elementId, ",", "_");
+ nodeId.insert(0, elementId + seperator);
seperator = "_";
return nodeId;
} else {