From 180f79f833d4b119794af21ae9cb1736e319ae1f Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Mon, 5 Jul 2010 02:20:37 +0100 Subject: mod_roster: Use value returned by pairs() during roster iteration to avoid dozens of wasteful table lookups --- plugins/mod_roster.lua | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'plugins/mod_roster.lua') diff --git a/plugins/mod_roster.lua b/plugins/mod_roster.lua index ddf02f2f..af92e24e 100644 --- a/plugins/mod_roster.lua +++ b/plugins/mod_roster.lua @@ -42,15 +42,15 @@ module:add_iq_handler("c2s", "jabber:iq:roster", if not (client_ver and server_ver) or client_ver ~= server_ver then roster:query("jabber:iq:roster"); -- Client does not support versioning, or has stale roster - for jid in pairs(session.roster) do + for jid, item in pairs(session.roster) do if jid ~= "pending" and jid then roster:tag("item", { jid = jid, - subscription = session.roster[jid].subscription, - ask = session.roster[jid].ask, - name = session.roster[jid].name, + subscription = item.subscription, + ask = item.ask, + name = item.name, }); - for group in pairs(session.roster[jid].groups) do + for group in pairs(item.groups) do roster:tag("group"):text(group):up(); end roster:up(); -- move out from item -- cgit v1.2.3