summaryrefslogtreecommitdiffstats
path: root/src/uscxml/interpreter/BasicContentExecutor.cpp
diff options
context:
space:
mode:
authorStefan Radomski <github@mintwerk.de>2016-06-16 14:51:27 (GMT)
committerStefan Radomski <github@mintwerk.de>2016-06-16 14:51:27 (GMT)
commitfa6b4f074d4be04d913d8b7dc062920341c34ecb (patch)
tree83ae475b184a3b1bccca2a69addcefb6c12d924e /src/uscxml/interpreter/BasicContentExecutor.cpp
parented6aee05e2843be65c4ab445d79e70dc8dacc07b (diff)
downloaduscxml-fa6b4f074d4be04d913d8b7dc062920341c34ecb.zip
uscxml-fa6b4f074d4be04d913d8b7dc062920341c34ecb.tar.gz
uscxml-fa6b4f074d4be04d913d8b7dc062920341c34ecb.tar.bz2
Fixed issue86 and some more bug fixes
Diffstat (limited to 'src/uscxml/interpreter/BasicContentExecutor.cpp')
-rw-r--r--src/uscxml/interpreter/BasicContentExecutor.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/uscxml/interpreter/BasicContentExecutor.cpp b/src/uscxml/interpreter/BasicContentExecutor.cpp
index 366c4bd..58d3eae 100644
--- a/src/uscxml/interpreter/BasicContentExecutor.cpp
+++ b/src/uscxml/interpreter/BasicContentExecutor.cpp
@@ -404,7 +404,7 @@ void BasicContentExecutor::invoke(XERCESC_NS::DOMElement* element) {
}
}
- // we need the invokeid to uninvoke - TODO: This is leaking!
+ // we need the invokeid to uninvoke
char* invokeId = (char*)malloc(invokeEvent.invokeid.size() + 1);
memcpy(invokeId, invokeEvent.invokeid.c_str(), invokeEvent.invokeid.size());
invokeId[invokeEvent.invokeid.size()] = 0;
@@ -469,7 +469,6 @@ void BasicContentExecutor::invoke(XERCESC_NS::DOMElement* element) {
}
void BasicContentExecutor::uninvoke(XERCESC_NS::DOMElement* invoke) {
- // TODO: DANGER This is the real danger here
char* invokeId = (char*)invoke->getUserData(X("invokeid"));
assert(invokeId != NULL);
@@ -557,13 +556,16 @@ void BasicContentExecutor::processParams(std::multimap<std::string, Data>& param
Data BasicContentExecutor::elementAsData(XERCESC_NS::DOMElement* element) {
if (HAS_ATTR(element, "expr")) {
// return _callbacks->evalAsData(ATTR(element, "expr"));
- if (LOCALNAME(element) == "content") {
+#if 0
+ if (LOCALNAME(element) == "content") {
// test 528
return _callbacks->evalAsData(ATTR(element, "expr"));
} else {
// test 326
return Data(ATTR(element, "expr"), Data::INTERPRETED);
}
+#endif
+ return _callbacks->evalAsData(ATTR(element, "expr"));
}
if (HAS_ATTR(element, "src")) {