sokol-luajit/engine/utils/general.lua

41 lines
1.1 KiB
Lua
Raw Normal View History

2025-10-16 12:18:57 +08:00
-- --------------------------------------------------------------------------------------
local visited = {}
local function tdump(o, level)
local level = level or 1
if(level == 0) then visited = {} end
if type(o) == 'table' then
local s = ' {\n'
for k,v in pairs(o) do
if type(k) ~= 'number' then k = '"'..tostring(k)..'"' end
if(visited[v] == nil) then
visited[v] = true
s = s .. string.rep(" ", level)..'['..k..'] = ' .. tdump(v, level+1)
end
end
return s .. string.rep(" ", level-1)..'}\n'
else
return tostring(o).."\n"
end
end
-- --------------------------------------------------------------------------------------
local function ffi_string( data, str )
2025-10-19 08:16:23 +08:00
data.value = str
data.ffi = ffi.new("char[?]", #str, str)
data.len_ffi = ffi.new("int[1]", { #str} )
return data
end
2025-10-16 12:18:57 +08:00
-- --------------------------------------------------------------------------------------
return {
tdump = tdump,
ffi_string = ffi_string,
2025-10-16 12:18:57 +08:00
}
2024-11-17 21:00:11 +08:00
-- --------------------------------------------------------------------------------------