From: Steven Barth Date: Thu, 28 Aug 2008 17:10:35 +0000 (+0000) Subject: Added maxdepth to luci.util.dumptable X-Git-Tag: 0.8.0~261 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8b28f46eeab80c7a5ec6f454780a338302eaa0da;p=oweals%2Fluci.git Added maxdepth to luci.util.dumptable --- diff --git a/libs/core/luasrc/util.lua b/libs/core/luasrc/util.lua index 39784f592..233bfcc33 100644 --- a/libs/core/luasrc/util.lua +++ b/libs/core/luasrc/util.lua @@ -183,18 +183,18 @@ end --- Recursively dumps a table to stdout, useful for testing and debugging. -- @param t Table value to dump --- @param i Number of tabs to prepend to each line +-- @param maxdepth Maximum depth -- @return Always nil -function dumptable(t, i, seen) +function dumptable(t, maxdepth, i, seen) i = i or 0 seen = seen or setmetatable({}, {__mode="k"}) for k,v in pairs(t) do perror(string.rep("\t", i) .. tostring(k) .. "\t" .. tostring(v)) - if type(v) == "table" then + if type(v) == "table" and i < maxdepth then if not seen[v] then seen[v] = true - dumptable(v, i+1, seen) + dumptable(v, maxdepth, i+1, seen) else perror(string.rep("\t", i) .. "*** RECURSION ***") end