mod_server_info: New module to manage the serverinfo disco extension form
This allows multiple modules to populate the form dynamically. Currently the
form is "owned" by mod_server_contact_info, which prevents other modules from
contributing to it.
A further commit will port mod_server_contact_info to use this module.
local data = {}
local getinfo = debug.getinfo;
local function linehook(ev, li)
local S = getinfo(2, "S");
if S and S.source and S.source:match"^@" then
local file = S.source:sub(2);
local lines = data[file];
if not lines then
lines = {};
data[file] = lines;
for line in io.lines(file) do
lines[#lines+1] = line;
end
end
io.stderr:write(ev, " ", file, " ", li, " ", lines[li], "\n");
end
end
debug.sethook(linehook, "l");