From 34321ba4d7bb25aefe1d0ef389a235b52bd051e9 Mon Sep 17 00:00:00 2001 From: prozacx Date: Fri, 27 May 2005 23:19:39 +0000 Subject: [PATCH] Added bForce to KeepNick() to be used when your original nick quits or changes nicks.. no need to wait for pending git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@374 726aef4b-f618-498e-8847-2d620e286838 --- IRCSock.cpp | 8 ++++---- IRCSock.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/IRCSock.cpp b/IRCSock.cpp index 4ad4e652..d0e870b7 100644 --- a/IRCSock.cpp +++ b/IRCSock.cpp @@ -386,7 +386,7 @@ void CIRCSock::ReadLine(const CString& sData) { if (sNick.CaseCmp(GetNick()) == 0) { SetNick(sNewNick); } else if (sNick.CaseCmp(m_pUser->GetNick()) == 0) { - KeepNick(); + KeepNick(true); } VOIDMODULECALL(OnNick(sNickMask, sNewNick, vFoundChans)); @@ -421,7 +421,7 @@ void CIRCSock::ReadLine(const CString& sData) { } if (Nick.GetNick().CaseCmp(m_pUser->GetNick()) == 0) { - KeepNick(); + KeepNick(true); } VOIDMODULECALL(OnQuit(Nick, sMessage, vFoundChans)); @@ -602,11 +602,11 @@ void CIRCSock::ReadLine(const CString& sData) { PutUser(sLine); } -void CIRCSock::KeepNick() { +void CIRCSock::KeepNick(bool bForce) { const CString& sConfNick = m_pUser->GetNick(); CString sAwayNick = CNick::Concat(sConfNick, m_pUser->GetAwaySuffix(), GetMaxNickLen()); - if (m_bAuthed && m_bKeepNick && !IsOrigNickPending() && m_pUser->GetKeepNick() && GetNick().CaseCmp(sConfNick) != 0 && GetNick().CaseCmp(sAwayNick) != 0) { + if (m_bAuthed && m_bKeepNick && (!IsOrigNickPending() || bForce) && m_pUser->GetKeepNick() && GetNick().CaseCmp(sConfNick) != 0 && GetNick().CaseCmp(sAwayNick) != 0) { PutServ("NICK " + sConfNick); SetOrigNickPending(true); } diff --git a/IRCSock.h b/IRCSock.h index f1a791fa..4167a98f 100644 --- a/IRCSock.h +++ b/IRCSock.h @@ -40,7 +40,7 @@ public: virtual void SockError(int iErrno); virtual void Timeout(); - void KeepNick(); + void KeepNick(bool bForce = false); bool IsUserAttached() { return (m_pUserSock != NULL); } void UserConnected(CUserSock* pUserSock); void UserDisconnected();