summaryrefslogtreecommitdiff
path: root/protocols/JabberG/src/jabber_message_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/JabberG/src/jabber_message_manager.cpp')
-rw-r--r--protocols/JabberG/src/jabber_message_manager.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/protocols/JabberG/src/jabber_message_manager.cpp b/protocols/JabberG/src/jabber_message_manager.cpp
index 77a01d0945..632dcb28e5 100644
--- a/protocols/JabberG/src/jabber_message_manager.cpp
+++ b/protocols/JabberG/src/jabber_message_manager.cpp
@@ -51,9 +51,7 @@ void CJabberMessageManager::FillPermanentHandlers()
bool CJabberMessageManager::HandleMessagePermanent(HXML node, ThreadData *pThreadData)
{
- for (int k = 0; k < m_arHandlers.getCount(); k++) {
- CJabberMessagePermanentInfo &pInfo = m_arHandlers[k];
-
+ for (auto &it : m_arHandlers) {
// have to get all data here, in the loop, because there's always possibility that previous handler modified it
CJabberMessageInfo messageInfo;
@@ -74,7 +72,7 @@ bool CJabberMessageManager::HandleMessagePermanent(HXML node, ThreadData *pThrea
}
else messageInfo.m_nMessageType = JABBER_MESSAGE_TYPE_NORMAL;
- if (pInfo.m_nMessageTypes & messageInfo.m_nMessageType) {
+ if (it->m_nMessageTypes & messageInfo.m_nMessageType) {
for (int i = XmlGetChildCount(node) - 1; i >= 0; i--) {
// enumerate all children and see whether this node suits handler criteria
HXML child = XmlGetChild(node, i);
@@ -82,26 +80,26 @@ bool CJabberMessageManager::HandleMessagePermanent(HXML node, ThreadData *pThrea
LPCTSTR szTagName = XmlGetName(child);
LPCTSTR szXmlns = XmlGetAttrValue(child, L"xmlns");
- if ((!pInfo.m_szXmlns || (szXmlns && !mir_wstrcmp(pInfo.m_szXmlns, szXmlns))) && (!pInfo.m_szTag || !mir_wstrcmp(pInfo.m_szTag, szTagName))) {
+ if ((!it->m_szXmlns || (szXmlns && !mir_wstrcmp(it->m_szXmlns, szXmlns))) && (!it->m_szTag || !mir_wstrcmp(it->m_szTag, szTagName))) {
// node suits handler criteria, call the handler
messageInfo.m_hChildNode = child;
messageInfo.m_szChildTagName = szTagName;
messageInfo.m_szChildTagXmlns = szXmlns;
- messageInfo.m_pUserData = pInfo.m_pUserData;
+ messageInfo.m_pUserData = it->m_pUserData;
messageInfo.m_szFrom = XmlGetAttrValue(node, L"from"); // is necessary for ppro->debugLogA() below, that's why we must parse it even if JABBER_MESSAGE_PARSE_FROM flag is not set
- if (pInfo.m_dwParamsToParse & JABBER_MESSAGE_PARSE_ID_STR)
+ if (it->m_dwParamsToParse & JABBER_MESSAGE_PARSE_ID_STR)
messageInfo.m_szId = XmlGetAttrValue(node, L"id");
- if (pInfo.m_dwParamsToParse & JABBER_IQ_PARSE_TO)
+ if (it->m_dwParamsToParse & JABBER_IQ_PARSE_TO)
messageInfo.m_szTo = XmlGetAttrValue(node, L"to");
- if (pInfo.m_dwParamsToParse & JABBER_MESSAGE_PARSE_HCONTACT)
+ if (it->m_dwParamsToParse & JABBER_MESSAGE_PARSE_HCONTACT)
messageInfo.m_hContact = ppro->HContactFromJID(messageInfo.m_szFrom);
if (messageInfo.m_szFrom)
ppro->debugLogW(L"Handling message from %s", messageInfo.m_szFrom);
- if ((ppro->*(pInfo.m_pHandler))(node, pThreadData, &messageInfo))
+ if ((ppro->*(it->m_pHandler))(node, pThreadData, &messageInfo))
return true;
}
}