summaryrefslogtreecommitdiffstats
path: root/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp')
-rw-r--r--src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp46
1 files changed, 11 insertions, 35 deletions
diff --git a/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp b/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp
index 2071d39..97d3637 100644
--- a/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp
+++ b/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp
@@ -350,49 +350,25 @@ void LuaDataModel::setEvent(const Event& event) {
Data LuaDataModel::evalAsData(const std::string& content) {
Data data;
- ErrorEvent originalError;
std::string trimmedExpr = boost::trim_copy(content);
- try {
- int retVals = luaEval(_luaState, "return(" + trimmedExpr + ")");
- if (retVals == 1) {
- data = getLuaAsData(_luaState, luabridge::LuaRef::fromStack(_luaState, -1));
- }
- lua_pop(_luaState, retVals);
- return data;
- } catch (ErrorEvent e) {
- originalError = e;
- }
-
- int retVals = 0;
- try {
- // evaluate again without the return()
- retVals = luaEval(_luaState, trimmedExpr);
- } catch (ErrorEvent e) {
- throw originalError; // we will assume syntax error and throw
- }
-
-#if 1
- // Note: Empty result is not an error test302, but how to do test488?
- if (retVals == 0 && !isValidSyntax(trimmedExpr)) {
- throw originalError; // we will assume syntax error and throw
+ int retVals = luaEval(_luaState, "return(" + trimmedExpr + ")");
+ if (retVals == 1) {
+ data = getLuaAsData(_luaState, luabridge::LuaRef::fromStack(_luaState, -1));
}
-#endif
+ lua_pop(_luaState, retVals);
+ return data;
+}
- try {
- if (retVals == 1) {
- data = getLuaAsData(_luaState, luabridge::LuaRef::fromStack(_luaState, -1));
- }
- lua_pop(_luaState, retVals);
- return data;
+void LuaDataModel::evalAsScript(const std::string& content) {
+ Data data;
- } catch (ErrorEvent e) {
- throw e; // we will assume syntax error and throw
- }
+ std::string trimmedExpr = boost::trim_copy(content);
+ int retVals = luaEval(_luaState, trimmedExpr);
- return data;
+ lua_pop(_luaState, retVals);
}
bool LuaDataModel::isValidSyntax(const std::string& expr) {