Diff

plugins/muc/muc.lib.lua @ 2527:3fe3dbb27b6f

MUC: Have get_error_condition() use the new stanza:get_error() (muc.lib.lua 11 lines shorter \o/)
author Matthew Wild <mwild1@gmail.com>
date Fri, 29 Jan 2010 14:26:54 +0000
parent 2504:8b12ee9a5027
child 2528:3365ed0ed5bd
line wrap: on
line diff
--- a/plugins/muc/muc.lib.lua	Fri Jan 29 14:22:03 2010 +0000
+++ b/plugins/muc/muc.lib.lua	Fri Jan 29 14:26:54 2010 +0000
@@ -59,19 +59,12 @@
 	["service-unavailable"] = true;
 	["malformed error"] = true;
 };
+
 local function get_error_condition(stanza)
-	for _, tag in ipairs(stanza.tags) do
-		if tag.name == "error" and (not(tag.attr.xmlns) or tag.attr.xmlns == "jabber:client") then
-			for _, cond in ipairs(tag.tags) do
-				if cond.attr.xmlns == "urn:ietf:params:xml:ns:xmpp-stanzas" then
-					return cond.name;
-				end
-			end
-			return "malformed error";
-		end
-	end
-	return "malformed error";
+	local _, condition = stanza:get_error();
+	return condition or "malformed error";
 end
+
 local function is_kickable_error(stanza)
 	local cond = get_error_condition(stanza);
 	return kickable_error_conditions[cond] and cond;