# HG changeset patch # User Waqas Hussain # Date 1246778242 -18000 # Node ID 6947761fd531a0c39eac4256fba9dac925aeb782 # Parent d2211cbb822f8b561658462a9b86b6efeeb92a1c mod_presence: Simplified roster iteration diff -r d2211cbb822f -r 6947761fd531 plugins/mod_presence.lua --- a/plugins/mod_presence.lua Sun Jul 05 11:59:51 2009 +0500 +++ b/plugins/mod_presence.lua Sun Jul 05 12:17:22 2009 +0500 @@ -62,9 +62,8 @@ function handle_normal_presence(origin, stanza, core_route_stanza) if origin.roster then - for jid in pairs(origin.roster) do -- broadcast to all interested contacts - local subscription = origin.roster[jid].subscription; - if subscription == "both" or subscription == "from" then + for jid, item in pairs(origin.roster) do -- broadcast to all interested contacts + if item.subscription == "both" or item.subscription == "from" then stanza.attr.to = jid; core_route_stanza(origin, stanza); end @@ -78,9 +77,8 @@ end if stanza.attr.type == nil and not origin.presence then -- initial presence local probe = st.presence({from = origin.full_jid, type = "probe"}); - for jid in pairs(origin.roster) do -- probe all contacts we are subscribed to - local subscription = origin.roster[jid].subscription; - if subscription == "both" or subscription == "to" then + for jid, item in pairs(origin.roster) do -- probe all contacts we are subscribed to + if item.subscription == "both" or item.subscription == "to" then probe.attr.to = jid; core_route_stanza(origin, probe); end