From fc06004df8e463d17654b52c7ac34c530a550c96 Mon Sep 17 00:00:00 2001 From: prozacx Date: Mon, 11 Jul 2005 15:06:28 +0000 Subject: [PATCH] Made /part remove a chan that is in 'Trying' state git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@434 726aef4b-f618-498e-8847-2d620e286838 --- UserSock.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/UserSock.cpp b/UserSock.cpp index 462c6a5b..dfed7552 100644 --- a/UserSock.cpp +++ b/UserSock.cpp @@ -127,6 +127,17 @@ void CUserSock::ReadLine(const CString& sData) { return; } } + } else if (sCommand.CaseCmp("PART") == 0) { + if (m_pUser) { + CString sChan = sLine.Token(1); + CChan* pChan = m_pUser->FindChan(sChan); + + if (pChan && !pChan->IsOn()) { + PutStatusNotice("Removing channel [" + sChan + "]"); + m_pUser->DelChan(sChan); + return; + } + } } else if (sCommand.CaseCmp("QUIT") == 0) { if (m_pIRCSock) { m_pIRCSock->UserDisconnected(); @@ -488,6 +499,11 @@ void CUserSock::UserCommand(const CString& sLine) { const vector& vChans = m_pUser->GetChans(); const CString& sPerms = m_pUser->GetIRCSock()->GetPerms(); + if (!vChans.size()) { + PutStatus("You have no channels defined"); + return; + } + CTable Table; Table.AddColumn("Name"); Table.AddColumn("Status");