Tue, 13 Jan 2009 20:19:52 +0500
modulemanager: Fixed error on unloading modules with no handlers
core/modulemanager.lua | file | annotate | diff | comparison | revisions |
--- a/core/modulemanager.lua Tue Jan 13 20:18:20 2009 +0500 +++ b/core/modulemanager.lua Tue Jan 13 20:19:52 2009 +0500 @@ -149,10 +149,12 @@ modulemap[host][name] = nil; features_table:remove(host, name); local params = handler_table:get(host, name); -- , {module.host, origin_type, tag, xmlns} - for _, param in pairs(params) do + for _, param in pairs(params or NULL) do local handlers = stanza_handlers:get(param[1], param[2], param[3], param[4]); - handler_info[handlers[1]] = nil; - stanza_handlers:remove(param[1], param[2], param[3], param[4]); + if handlers then + handler_info[handlers[1]] = nil; + stanza_handlers:remove(param[1], param[2], param[3], param[4]); + end end event_hooks:remove(host, name); return true;