# HG changeset patch # User Matthew Wild # Date 1228436741 0 # Node ID 1c29c0b2202247bfb0463d07c0a98cf93dab553f # Parent 08db6883bbc5af15fd90bf426613f77c9343a753# Parent 9a695724681dccd29f686c6a039dce101e975609 Merge from waqas diff -r 08db6883bbc5 -r 1c29c0b22022 util/multitable.lua --- a/util/multitable.lua Fri Dec 05 00:14:25 2008 +0000 +++ b/util/multitable.lua Fri Dec 05 00:25:41 2008 +0000 @@ -22,6 +22,7 @@ local select = select; local t_insert = table.insert; local pairs = pairs; +local next = next; module "multitable" @@ -55,10 +56,19 @@ end local k = select(n, ...); if k then - r(t[k], n+1, _end, ...); + v = t[k]; + if v then + r(v, n+1, _end, ...); + if not next(v) then + t[k] = nil; + end + end else for _,b in pairs(t) do r(b, n+1, _end, ...); + if not next(b) then + t[_] = nil; + end end end end