diff -r 160d69c6eb89 -r 79bd7a3e906c core/modulemanager.lua --- a/core/modulemanager.lua Sun Nov 23 05:03:36 2008 +0000 +++ b/core/modulemanager.lua Sun Nov 23 05:14:37 2008 +0000 @@ -78,7 +78,7 @@ local success, ret = pcall(mod); if not success then log("error", "Error initialising module '%s': %s", name or "nil", ret or "nil"); - return nil, err; + return nil, ret; end return true; end @@ -92,15 +92,15 @@ if child then local xmlns = child.attr.xmlns or xmlns; log("debug", "Stanza of type %s from %s has xmlns: %s", name, origin_type, xmlns); - local handler = handlers[origin_type][name] and handlers[origin_type][name][xmlns]; - if handler then + local handler = handlers[origin_type][name][xmlns]; + if handler then log("debug", "Passing stanza to mod_%s", handler_info[handler].name); return handler(origin, stanza) or true; end end elseif handlers[origin_type] then local handler = handlers[origin_type][name]; - if handler then + if handler then handler = handler[xmlns]; if handler then log("debug", "Passing stanza to mod_%s", handler_info[handler].name);