Software / code / prosody
Diff
util/helpers.lua @ 1959:f56670ce64de
util.helpers: Add get_upvalue(function, name) helper
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 16 Oct 2009 22:03:32 +0100 |
| parent | 1795:0e933d6f2c31 |
| child | 1964:101a8df23b29 |
line wrap: on
line diff
--- a/util/helpers.lua Fri Oct 16 19:52:09 2009 +0100 +++ b/util/helpers.lua Fri Oct 16 22:03:32 2009 +0100 @@ -24,4 +24,13 @@ events.fire_event, events[events.fire_event] = events[events.fire_event], nil; -- :) end +function get_upvalue(f, get_name) + local i, name, value = 0; + repeat + i = i + 1; + name, value = debug.getupvalue(f, i); + until name == get_name or name == nil; + return value; +end + return _M;