Make CClient::GetNickMask() always return a valid nickmask

The recent removal of CUser::m_bIRCConnected lead to a bug here which is now
fixed.
In addition to this, this function now also works properly for users without
a vhost.

Oh and in User.cpp: Make sure CUser::GetIRCServer() returns an empty string
when we are no longer connected to an IRCd.


git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1134 726aef4b-f618-498e-8847-2d620e286838
This commit is contained in:
psychon
2008-07-14 10:44:37 +00:00
parent 3e2b71263f
commit 3c1e610cf5
3 changed files with 11 additions and 2 deletions
+7 -2
View File
@@ -1979,9 +1979,14 @@ CString CClient::GetNick(bool bAllowIRCNick) const {
}
CString CClient::GetNickMask() const {
if (m_pIRCSock) {
if (m_pIRCSock && m_pIRCSock->IsAuthed()) {
return m_pIRCSock->GetNickMask();
}
return GetNick() + "!" + m_pUser->GetIdent() + "@" + m_pUser->GetVHost();
CString sHost = m_pUser->GetVHost();
if (sHost.empty()) {
sHost = "irc.znc.com";
}
return GetNick() + "!" + m_pUser->GetIdent() + "@" + sHost;
}