diff options
Diffstat (limited to 'Sluift/ElementConvertors/FormConvertor.cpp')
-rw-r--r-- | Sluift/ElementConvertors/FormConvertor.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Sluift/ElementConvertors/FormConvertor.cpp b/Sluift/ElementConvertors/FormConvertor.cpp index 90fd9fe..245e0f9 100644 --- a/Sluift/ElementConvertors/FormConvertor.cpp +++ b/Sluift/ElementConvertors/FormConvertor.cpp @@ -2,76 +2,76 @@ * Copyright (c) 2013-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #include <Sluift/ElementConvertors/FormConvertor.h> #include <memory> #include <sstream> #include <boost/assign/list_of.hpp> #include <boost/numeric/conversion/cast.hpp> #include <lua.hpp> #include <Sluift/Lua/Check.h> #include <Sluift/Lua/Value.h> using namespace Swift; namespace { int formIndex(lua_State* L) { lua_getfield(L, 1, "fields"); if (lua_type(L, -1) != LUA_TTABLE) { return 0; } int index = Lua::absoluteOffset(L, -1); lua_pushnil(L); for (lua_pushnil(L); lua_next(L, index) != 0; ) { lua_getfield(L, -1, "name"); - if (lua_equal(L, -1, 2)) { + if (lua_compare(L, -1, 2, LUA_OPEQ)) { lua_pop(L, 1); return 1; } lua_pop(L, 2); } return 0; } int formNewIndex(lua_State* L) { lua_getfield(L, 1, "fields"); bool foundField = false; if (lua_type(L, -1) == LUA_TTABLE) { for (lua_pushnil(L); lua_next(L, -2) != 0; ) { lua_getfield(L, -1, "name"); - if (lua_equal(L, -1, 2)) { + if (lua_compare(L, -1, 2, LUA_OPEQ)) { lua_pushvalue(L, 3); lua_setfield(L, -3, "value"); foundField = true; lua_pop(L, 3); break; } lua_pop(L, 2); } } lua_pop(L, 1); if (!foundField) { lua_pushvalue(L, 2); lua_pushvalue(L, 3); lua_rawset(L, 1); } return 0; } Lua::Table convertFieldToLua(std::shared_ptr<FormField> field) { Lua::Table luaField = boost::assign::map_list_of("name", Lua::valueRef(field->getName())); std::string type; switch (field->getType()) { case FormField::UnknownType: type = ""; break; case FormField::BooleanType: type = "boolean"; break; case FormField::FixedType: type = "fixed"; break; case FormField::HiddenType: type = "hidden"; break; case FormField::ListSingleType: type = "list-single"; break; case FormField::TextMultiType: type = "text-multi"; break; case FormField::TextPrivateType: type = "text-private"; break; |