From 48ee5c71c51f57c5d3def13fff5122551d1bbdca Mon Sep 17 00:00:00 2001 From: psychon Date: Sun, 25 Jan 2009 11:12:36 +0000 Subject: [PATCH] Check in CZNC::AddUser() if the username is still available git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1346 726aef4b-f618-498e-8847-2d620e286838 --- znc.cpp | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/znc.cpp b/znc.cpp index ed8d0a14..72985bf8 100644 --- a/znc.cpp +++ b/znc.cpp @@ -1694,13 +1694,19 @@ bool CZNC::DeleteUser(const CString& sUsername) { } bool CZNC::AddUser(CUser* pUser, CString& sErrorRet) { - if (pUser->IsValid(sErrorRet)) { - m_msUsers[pUser->GetUserName()] = pUser; - return true; + if (FindUser(pUser->GetUserName()) != NULL) { + DEBUG_ONLY(cout << "User [" << pUser->GetUserName() << "]" + " - already exists" << endl); + return false; } + if (!pUser->IsValid(sErrorRet)) { + DEBUG_ONLY(cout << "Invalid user [" << pUser->GetUserName() << "]" + " - [" << sErrorRet << "]" << endl); + return false; + } + m_msUsers[pUser->GetUserName()] = pUser; + return true; - DEBUG_ONLY(cout << "Invalid user [" << pUser->GetUserName() << "] - [" << sErrorRet << "]" << endl); - return false; } CZNC& CZNC::Get() {