mirror of
https://github.com/znc/znc.git
synced 2026-03-28 17:42:41 +01:00
CClient: share the chan matching code
This commit is contained in:
@@ -361,15 +361,7 @@ void CClient::ReadLine(const CString& sData) {
|
||||
return;
|
||||
}
|
||||
|
||||
VCString vsChans;
|
||||
sPatterns.Replace(",", " ");
|
||||
sPatterns.Split(" ", vsChans, false, "", "", true, true);
|
||||
|
||||
set<CChan*> sChans;
|
||||
for (const CString& sChan : vsChans) {
|
||||
vector<CChan*> vChans = m_pNetwork->FindChans(sChan);
|
||||
sChans.insert(vChans.begin(), vChans.end());
|
||||
}
|
||||
set<CChan*> sChans = MatchChans(sPatterns);
|
||||
|
||||
unsigned int uDetached = 0;
|
||||
for (CChan* pChan : sChans) {
|
||||
@@ -1062,3 +1054,16 @@ void CClient::EchoMessage(const CMessage& Message)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set<CChan*> CClient::MatchChans(const CString& sPatterns) const
|
||||
{
|
||||
VCString vsPatterns;
|
||||
sPatterns.Replace_n(",", " ").Split(" ", vsPatterns, false, "", "", true, true);
|
||||
|
||||
set<CChan*> sChans;
|
||||
for (const CString& sPattern : vsPatterns) {
|
||||
vector<CChan*> vChans = m_pNetwork->FindChans(sPattern);
|
||||
sChans.insert(vChans.begin(), vChans.end());
|
||||
}
|
||||
return sChans;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user