diff --git a/include/znc/IRCNetwork.h b/include/znc/IRCNetwork.h index ccb35def..ab6ef527 100644 --- a/include/znc/IRCNetwork.h +++ b/include/znc/IRCNetwork.h @@ -76,7 +76,7 @@ public: const CString& GetName() const; bool IsNetworkAttached() const { return !m_vClients.empty(); } const std::vector& GetClients() const { return m_vClients; } - CClient* FindClient(const CString& sIdentifier) const; + std::vector FindClients(const CString& sIdentifier) const; void SetUser(CUser *pUser); bool SetName(const CString& sName); diff --git a/src/IRCNetwork.cpp b/src/IRCNetwork.cpp index fa97ba5a..607488b1 100644 --- a/src/IRCNetwork.cpp +++ b/src/IRCNetwork.cpp @@ -669,14 +669,15 @@ const CString& CIRCNetwork::GetName() const { return m_sName; } -CClient* CIRCNetwork::FindClient(const CString& sIdentifier) const { +std::vector CIRCNetwork::FindClients(const CString& sIdentifier) const { + std::vector vClients; for (CClient* pClient : m_vClients) { if (pClient->GetIdentifier().Equals(sIdentifier)) { - return pClient; + vClients.push_back(pClient); } } - return NULL; + return vClients; } void CIRCNetwork::SetUser(CUser *pUser) {