This commit is contained in:
kaetemi 2014-09-15 17:42:24 +02:00
parent 34b1fa4e36
commit c245822abb
2 changed files with 35 additions and 11 deletions

View file

@ -1931,7 +1931,6 @@ void CLuaIHMRyzom::rawDebugInfo(const std::string &dbg)
#endif
pIM->displaySystemInfo( LuaHelperStuff::formatLuaErrorSysInfo(dbg));
}
nldebug("LUA: '%s'", dbg.c_str());
}

View file

@ -28,12 +28,26 @@ function forEach(table, fn)
end
end
------------------------------------------------------------------------------------------------------------
-- whatever
table.setn = function(table, n)
assert(table)
local mt = getmetatable(table)
if mt ~= nil then
if mt.__next ~= nil then
table.Size = n
end
end
end
------------------------------------------------------------------------------------------------------------
-- extension to table library : remove all content of a table without deleting the table object
function table.clear(tbl)
while next(tbl) do
table.remove(tbl, next(tbl))
tbl[next(tbl)] = nil
end
table.setn(tbl, 0)
end
------------------------------------------------------------------------------------------------------------
@ -177,12 +191,12 @@ end
-------------------------------------------------------------------------------------------------
-- enclose a string by double quotes
function strifyXml(str)
strxml = string.gsub(str, ">", ">")
local strxml = string.gsub(tostring(str), ">", ">")
strxml = string.gsub(strxml, "<", "&lt;")
strxml = string.gsub(strxml, "&", "&amp;")
strxml = string.gsub(strxml, "'", "&apos;")
strxml = string.gsub(strxml, '"', "&quot;")
return [["]] .. tostring(strxml) .. [["]]
return [["]] .. strxml .. [["]]
end
------------------------------------------------------------------------------------------------------------
@ -261,11 +275,23 @@ end
assert(table.getn ~= nil) -- default lib should have been opened
-- assert(table.getn ~= nil) -- default lib should have been opened
--if oldTableGetnFunction == nil then
-- oldTableGetnFunction = table.getn
--end
--
--table.getn = function(table)
-- assert(table)
-- local mt = getmetatable(table)
-- if mt ~= nil then
-- if mt.__next ~= nil then
-- return table.Size
-- end
-- end
-- return oldTableGetnFunction(table)
--end
if oldTableGetnFunction == nil then
oldTableGetnFunction = table.getn
end
table.getn = function(table)
assert(table)
@ -275,12 +301,11 @@ table.getn = function(table)
return table.Size
end
end
return oldTableGetnFunction(table)
return #table
end
-- redefine the hardcoded 'pairs' function to use the redefined 'next'
-- hardcoded version uses the C version of next, not the lua one if it has been redefined