diff options
author | Stefan Radomski <github@mintwerk.de> | 2016-06-14 13:56:18 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2016-06-14 13:56:18 (GMT) |
commit | ed6aee05e2843be65c4ab445d79e70dc8dacc07b (patch) | |
tree | 1819481be3dadd13361024ae76245989ee5dca85 /src/uscxml/plugins | |
parent | a17466eefe7576a2c56b8a46ff03e359c04ad5ae (diff) | |
download | uscxml-ed6aee05e2843be65c4ab445d79e70dc8dacc07b.zip uscxml-ed6aee05e2843be65c4ab445d79e70dc8dacc07b.tar.gz uscxml-ed6aee05e2843be65c4ab445d79e70dc8dacc07b.tar.bz2 |
Fixed issue 84
Diffstat (limited to 'src/uscxml/plugins')
-rw-r--r-- | src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp b/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp index 67294da..717def9 100644 --- a/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp +++ b/src/uscxml/plugins/datamodel/lua/LuaDataModel.cpp @@ -73,18 +73,19 @@ static Data getLuaAsData(lua_State* _luaState, const luabridge::LuaRef& lua) { data.atom = toStr(lua.cast<int>()); data.type = Data::INTERPRETED; } else if(lua.isString()) { - data.atom = lua.tostring(); + data.atom = lua.cast<std::string>(); data.type = Data::VERBATIM; } else if(lua.isTable()) { bool isArray = false; bool isMap = false; for (luabridge::Iterator iter (lua); !iter.isNil(); ++iter) { - luabridge::LuaRef luaKey = iter.key(); + luabridge::LuaRef luaKey = iter.key(); luabridge::LuaRef luaVal = *iter; if (luaKey.isString()) { - assert(!isArray); + assert(!isArray); isMap = true; - data.compound[luaKey.tostring()] = getLuaAsData(_luaState, luaVal); + // luaKey.tostring() is not working?! see issue84 + data.compound[luaKey.cast<std::string>()] = getLuaAsData(_luaState, luaVal); } else { assert(!isMap); isArray = true; |