diff options
author | Stefan Radomski <github@mintwerk.de> | 2016-06-16 14:51:27 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2016-06-16 14:51:27 (GMT) |
commit | fa6b4f074d4be04d913d8b7dc062920341c34ecb (patch) | |
tree | 83ae475b184a3b1bccca2a69addcefb6c12d924e /src/uscxml/interpreter/BasicContentExecutor.cpp | |
parent | ed6aee05e2843be65c4ab445d79e70dc8dacc07b (diff) | |
download | uscxml-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.cpp | 8 |
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")) { |