diff --git a/Chan.cpp b/Chan.cpp index ceae479a..69eea7be 100644 --- a/Chan.cpp +++ b/Chan.cpp @@ -4,8 +4,8 @@ #include "Utils.h" CChan::CChan(const CString& sName, CUser* pUser) { - m_sName = CUtils::Token(sName, 0); - m_sKey = CUtils::Token(sName, 1); + m_sName = sName.Token(0); + m_sKey = sName.Token(1); if (CUtils::Left(m_sName, 1) != "#" && CUtils::Left(m_sName, 1) != "&") { m_sName = "#" + m_sName; @@ -161,8 +161,8 @@ void CChan::OnWho(const CString& sNick, const CString& sIdent, const CString& sH } void CChan::ModeChange(const CString& sModes, const CString& sOpNick) { - CString sModeArg = CUtils::Token(sModes, 0); - CString sArgs = CUtils::Token(sModes, 1, true); + CString sModeArg = sModes.Token(0); + CString sArgs = sModes.Token(1, true); bool bAdd = true; #ifdef _MODULES diff --git a/IRCSock.cpp b/IRCSock.cpp index ee074516..68504adb 100644 --- a/IRCSock.cpp +++ b/IRCSock.cpp @@ -60,13 +60,13 @@ void CIRCSock::ReadLine(const CString& sData) { if (strncasecmp(sLine.c_str(), "PING ", 5) == 0) { PutServ("PONG " + sLine.substr(5)); } else if (CUtils::wildcmp(":* * *", sLine.c_str())) { //"^:(\\S+) (\\d\\d\\d) (.*?) (.*)$", vCap)) { - CString sCmd = CUtils::Token(sLine, 1); + CString sCmd = sLine.Token(1); if ((sCmd.length() == 3) && (isdigit(sCmd[0])) && (isdigit(sCmd[1])) && (isdigit(sCmd[2]))) { - CString sServer = CUtils::Token(sLine, 0); CUtils::LeftChomp(sServer); + CString sServer = sLine.Token(0); CUtils::LeftChomp(sServer); unsigned int uRaw = strtoul(sCmd.c_str(), NULL, 10); - CString sNick = CUtils::Token(sLine, 2); - CString sRest = CUtils::Token(sLine, 3, true); + CString sNick = sLine.Token(2); + CString sRest = sLine.Token(3, true); switch (uRaw) { case 1: {// :irc.server.com 001 nick :Welcome to the Internet Relay Network nick @@ -137,7 +137,7 @@ void CIRCSock::ReadLine(const CString& sData) { break; case 433: { - CString sBadNick = CUtils::Token(sRest, 0); + CString sBadNick = sRest.Token(0); CString sConfNick = m_pUser->GetNick(); if (sNick == "*") { @@ -188,7 +188,7 @@ void CIRCSock::ReadLine(const CString& sData) { } case 315: { // :irc.server.com 315 yournick #chan :End of /WHO list. - CChan* pChan = m_pUser->FindChan(CUtils::Token(sLine, 3)); + CChan* pChan = m_pUser->FindChan(sLine.Token(3)); if (pChan) { pChan->SetWhoDone(); @@ -198,7 +198,7 @@ void CIRCSock::ReadLine(const CString& sData) { } case 331: { // :irc.server.com 331 yournick #chan :No topic is set. - CChan* pChan = m_pUser->FindChan(CUtils::Token(sLine, 3)); + CChan* pChan = m_pUser->FindChan(sLine.Token(3)); if (pChan) { pChan->SetTopic(""); @@ -208,10 +208,10 @@ void CIRCSock::ReadLine(const CString& sData) { } case 332: { // :irc.server.com 332 yournick #chan :This is a topic - CChan* pChan = m_pUser->FindChan(CUtils::Token(sLine, 3)); + CChan* pChan = m_pUser->FindChan(sLine.Token(3)); if (pChan) { - CString sTopic = CUtils::Token(sLine, 4, true); + CString sTopic = sLine.Token(4, true); CUtils::LeftChomp(sTopic); pChan->SetTopic(sTopic); } @@ -220,11 +220,11 @@ void CIRCSock::ReadLine(const CString& sData) { } case 333: { // :irc.server.com 333 yournick #chan setternick 1112320796 - CChan* pChan = m_pUser->FindChan(CUtils::Token(sLine, 3)); + CChan* pChan = m_pUser->FindChan(sLine.Token(3)); if (pChan) { - CString sNick = CUtils::Token(sLine, 4); - unsigned long ulDate = strtoul(CUtils::Token(sLine, 5).c_str(), NULL, 10); + CString sNick = sLine.Token(4); + unsigned long ulDate = strtoul(sLine.Token(5).c_str(), NULL, 10); pChan->SetTopicOwner(sNick); pChan->SetTopicDate(ulDate); @@ -234,10 +234,10 @@ void CIRCSock::ReadLine(const CString& sData) { } case 352: { // :irc.yourserver.com 352 yournick #chan ident theirhost.com irc.theirserver.com theirnick H :0 Real Name - CString sServer = CUtils::Token(sLine, 0); - CString sNick = CUtils::Token(sLine, 7); - CString sIdent = CUtils::Token(sLine, 4); - CString sHost = CUtils::Token(sLine, 5); + CString sServer = sLine.Token(0); + CString sNick = sLine.Token(7); + CString sIdent = sLine.Token(4); + CString sHost = sLine.Token(5); CUtils::LeftChomp(sServer); @@ -259,19 +259,19 @@ void CIRCSock::ReadLine(const CString& sData) { } case 324: { // MODE CUtils::Trim(sRest); - CChan* pChan = m_pUser->FindChan(CUtils::Token(sRest, 0)); + CChan* pChan = m_pUser->FindChan(sRest.Token(0)); if (pChan) { - pChan->SetModes(CUtils::Token(sRest, 1, true)); + pChan->SetModes(sRest.Token(1, true)); } } break; case 353: { // NAMES CUtils::Trim(sRest); // Todo: allow for non @+= server msgs - CChan* pChan = m_pUser->FindChan(CUtils::Token(sRest, 1)); + CChan* pChan = m_pUser->FindChan(sRest.Token(1)); if (pChan) { - CString sNicks = CUtils::Token(sRest, 2, true); + CString sNicks = sRest.Token(2, true); if (CUtils::Left(sNicks, 1) == ":") { CUtils::LeftChomp(sNicks); } @@ -284,7 +284,7 @@ void CIRCSock::ReadLine(const CString& sData) { PutUser(sLine); // First send them the raw // :irc.server.com 366 nick #chan :End of /NAMES list. - CChan* pChan = m_pUser->FindChan(CUtils::Token(sRest, 0)); + CChan* pChan = m_pUser->FindChan(sRest.Token(0)); if (pChan) { if (IsUserAttached()) { @@ -328,12 +328,12 @@ void CIRCSock::ReadLine(const CString& sData) { } } } else { //if (CUtils::wildcmp(":*!*@* * *", sLine.c_str())) { - CString sNickMask = CUtils::Token(sLine, 0); + CString sNickMask = sLine.Token(0); CUtils::LeftChomp(sNickMask); - CString sNick = CUtils::Token(sNickMask, 0, false, '!'); - CString sCmd = CUtils::Token(sLine, 1); - CString sRest = CUtils::Token(sLine, 2, true); + CString sNick = sNickMask.Token(0, false, '!'); + CString sCmd = sLine.Token(1); + CString sRest = sLine.Token(2, true); if (strcasecmp(sCmd.c_str(), "NICK") == 0) { CString sNewNick = sRest; @@ -412,7 +412,7 @@ void CIRCSock::ReadLine(const CString& sData) { return; } } else if (strcasecmp(sCmd.c_str(), "JOIN") == 0) { - CString sChan = CUtils::Token(sRest, 0); + CString sChan = sRest.Token(0); if (CUtils::Left(sChan, 1) == ":") { CUtils::LeftChomp(sChan); } @@ -432,7 +432,7 @@ void CIRCSock::ReadLine(const CString& sData) { } } } else if (strcasecmp(sCmd.c_str(), "PART") == 0) { - CString sChan = CUtils::Token(sRest, 0); + CString sChan = sRest.Token(0); if (CUtils::Left(sChan, 1) == ":") { CUtils::LeftChomp(sChan); } @@ -453,8 +453,8 @@ void CIRCSock::ReadLine(const CString& sData) { return; } } else if (strcasecmp(sCmd.c_str(), "MODE") == 0) { - CString sChan = CUtils::Token(sRest, 0); - CString sModes = CUtils::Token(sRest, 1, true); + CString sChan = sRest.Token(0); + CString sModes = sRest.Token(1, true); CChan* pChan = m_pUser->FindChan(sChan); if (pChan) { @@ -466,9 +466,9 @@ void CIRCSock::ReadLine(const CString& sData) { } } else if (strcasecmp(sCmd.c_str(), "KICK") == 0) { // :opnick!ident@host.com KICK #chan nick :msg - CString sChan = CUtils::Token(sRest, 0); - CString sKickedNick = CUtils::Token(sRest, 1); - CString sMsg = CUtils::Token(sRest, 2, true); + CString sChan = sRest.Token(0); + CString sKickedNick = sRest.Token(1); + CString sMsg = sRest.Token(2, true); CUtils::LeftChomp(sMsg); CChan* pChan = m_pUser->FindChan(sChan); @@ -499,8 +499,8 @@ void CIRCSock::ReadLine(const CString& sData) { CNick Nick(sNickMask); - CString sTarget = CUtils::Token(sRest, 0); - CString sMsg = CUtils::Token(sRest, 1, true); + CString sTarget = sRest.Token(0); + CString sMsg = sRest.Token(1, true); CUtils::LeftChomp(sMsg); if (CUtils::wildcmp("\001*\001", sMsg.c_str())) { @@ -531,11 +531,11 @@ void CIRCSock::ReadLine(const CString& sData) { return; } else if (strcasecmp(sCmd.c_str(), "TOPIC") == 0) { // :nick!ident@host.com TOPIC #chan :This is a topic - CChan* pChan = m_pUser->FindChan(CUtils::Token(sLine, 2)); + CChan* pChan = m_pUser->FindChan(sLine.Token(2)); if (pChan) { CNick Nick(sNickMask); - CString sTopic = CUtils::Token(sLine, 3, true); + CString sTopic = sLine.Token(3, true); CUtils::LeftChomp(sTopic); pChan->SetTopicOwner(Nick.GetNick()); pChan->SetTopicDate((unsigned long) time(NULL)); // @todo use local time @@ -545,8 +545,8 @@ void CIRCSock::ReadLine(const CString& sData) { // :nick!ident@host.com PRIVMSG #chan :Message CNick Nick(sNickMask); - CString sTarget = CUtils::Token(sRest, 0); - CString sMsg = CUtils::Token(sRest, 1, true); + CString sTarget = sRest.Token(0); + CString sMsg = sRest.Token(1, true); if (CUtils::Left(sMsg, 1) == ":") { CUtils::LeftChomp(sMsg); @@ -621,11 +621,11 @@ bool CIRCSock::OnPrivCTCP(const CString& sNickMask, CString& sMessage) { } } else if (strncasecmp(sMessage.c_str(), "DCC ", 4) == 0) { // DCC CHAT chat 2453612361 44592 - CString sType = CUtils::Token(sMessage, 1); - CString sFile = CUtils::Token(sMessage, 2); - unsigned long uLongIP = strtoul(CUtils::Token(sMessage, 3).c_str(), NULL, 10); - unsigned short uPort = strtoul(CUtils::Token(sMessage, 4).c_str(), NULL, 10); - unsigned long uFileSize = strtoul(CUtils::Token(sMessage, 5).c_str(), NULL, 10); + CString sType = sMessage.Token(1); + CString sFile = sMessage.Token(2); + unsigned long uLongIP = strtoul(sMessage.Token(3).c_str(), NULL, 10); + unsigned short uPort = strtoul(sMessage.Token(4).c_str(), NULL, 10); + unsigned long uFileSize = strtoul(sMessage.Token(5).c_str(), NULL, 10); if (strcasecmp(sType.c_str(), "CHAT") == 0) { if (m_pUserSock) { @@ -646,10 +646,10 @@ bool CIRCSock::OnPrivCTCP(const CString& sNickMask, CString& sMessage) { } } else if (strcasecmp(sType.c_str(), "RESUME") == 0) { // Need to lookup the connection by port, filter the port, and forward to the user - CDCCBounce* pSock = (CDCCBounce*) m_pZNC->GetManager().FindSockByLocalPort(atoi(CUtils::Token(sMessage, 3).c_str())); + CDCCBounce* pSock = (CDCCBounce*) m_pZNC->GetManager().FindSockByLocalPort(atoi(sMessage.Token(3).c_str())); if ((pSock) && (strncasecmp(pSock->GetSockName().c_str(), "DCC::", 5) == 0)) { - PutUser(":" + sNickMask + " PRIVMSG " + GetNick() + " :\001DCC " + sType + " " + sFile + " " + CUtils::ToString(pSock->GetUserPort()) + " " + CUtils::Token(sMessage, 4) + "\001"); + PutUser(":" + sNickMask + " PRIVMSG " + GetNick() + " :\001DCC " + sType + " " + sFile + " " + CUtils::ToString(pSock->GetUserPort()) + " " + sMessage.Token(4) + "\001"); } } else if (strcasecmp(sType.c_str(), "ACCEPT") == 0) { // Need to lookup the connection by port, filter the port, and forward to the user @@ -659,8 +659,8 @@ bool CIRCSock::OnPrivCTCP(const CString& sNickMask, CString& sMessage) { CDCCBounce* pSock = (CDCCBounce*) Manager[a]; if ((pSock) && (strncasecmp(pSock->GetSockName().c_str(), "DCC::", 5) == 0)) { - if (pSock->GetUserPort() == atoi(CUtils::Token(sMessage, 3).c_str())) { - PutUser(":" + sNickMask + " PRIVMSG " + GetNick() + " :\001DCC " + sType + " " + sFile + " " + CUtils::ToString(pSock->GetLocalPort()) + " " + CUtils::Token(sMessage, 4) + "\001"); + if (pSock->GetUserPort() == atoi(sMessage.Token(3).c_str())) { + PutUser(":" + sNickMask + " PRIVMSG " + GetNick() + " :\001DCC " + sType + " " + sFile + " " + CUtils::ToString(pSock->GetLocalPort()) + " " + sMessage.Token(4) + "\001"); } } } diff --git a/User.cpp b/User.cpp index 696d527b..630cb967 100644 --- a/User.cpp +++ b/User.cpp @@ -196,8 +196,8 @@ bool CUser::AddServer(const CString& sName) { CString sLine = sName; CUtils::Trim(sLine); - CString sHost = CUtils::Token(sLine, 0); - CString sPort = CUtils::Token(sLine, 1); + CString sHost = sLine.Token(0); + CString sPort = sLine.Token(1); if (CUtils::Left(sPort, 1) == "+") { bSSL = true; @@ -205,7 +205,7 @@ bool CUser::AddServer(const CString& sName) { } unsigned short uPort = strtoul(sPort.c_str(), NULL, 10); - CString sPass = CUtils::Token(sLine, 2, true); + CString sPass = sLine.Token(2, true); return AddServer(sHost, uPort, sPass, bSSL); } diff --git a/UserSock.cpp b/UserSock.cpp index df8385f1..640c13c7 100644 --- a/UserSock.cpp +++ b/UserSock.cpp @@ -24,14 +24,14 @@ void CUserSock::ReadLine(const CString& sData) { } #endif - CString sCommand = CUtils::Token(sLine, 0); + CString sCommand = sLine.Token(0); if (strcasecmp(sCommand.c_str(), "ZNC") == 0) { PutStatus("Hello. How may I help you?"); return; } else if (strcasecmp(sCommand.c_str(), "DETACH") == 0) { if (m_pUser) { - CString sChan = CUtils::Token(sLine, 1); + CString sChan = sLine.Token(1); if (sChan.empty()) { PutStatusNotice("Usage: /detach <#chan>"); @@ -53,11 +53,11 @@ void CUserSock::ReadLine(const CString& sData) { } else if (strcasecmp(sCommand.c_str(), "PASS") == 0) { if (!m_bAuthed) { m_bGotPass = true; - m_sPass = CUtils::Token(sLine, 1); + m_sPass = sLine.Token(1); if (m_sPass.find(":") != CString::npos) { - m_sUser = CUtils::Token(m_sPass, 0, false, ':'); - m_sPass = CUtils::Token(m_sPass, 1, true, ':'); + m_sUser = m_sPass.Token(0, false, ':'); + m_sPass = m_sPass.Token(1, true, ':'); } if ((m_bGotNick) && (m_bGotUser)) { @@ -67,7 +67,7 @@ void CUserSock::ReadLine(const CString& sData) { return; // Don't forward this msg. ZNC has already registered us. } else if (strcasecmp(sCommand.c_str(), "NICK") == 0) { - CString sNick = CUtils::Token(sLine, 1); + CString sNick = sLine.Token(1); if (CUtils::Left(sNick, 1) == ":") { CUtils::LeftChomp(sNick); } @@ -87,7 +87,7 @@ void CUserSock::ReadLine(const CString& sData) { } } else if (strcasecmp(sCommand.c_str(), "USER") == 0) { if ((!m_bAuthed) && (m_sUser.empty())) { - m_sUser = CUtils::Token(sLine, 1); + m_sUser = sLine.Token(1); } m_bGotUser = true; @@ -98,7 +98,7 @@ void CUserSock::ReadLine(const CString& sData) { return; // Don't forward this msg. ZNC has already registered us. } else if (strcasecmp(sCommand.c_str(), "JOIN") == 0) { - CString sChan = CUtils::Token(sLine, 1); + CString sChan = sLine.Token(1); if (CUtils::Left(sChan, 1) == ":") { CUtils::LeftChomp(sChan); } @@ -119,8 +119,8 @@ void CUserSock::ReadLine(const CString& sData) { Close(); // Treat a client quit as a detach return; // Don't forward this msg. We don't want the client getting us disconnected. } else if (strcasecmp(sCommand.c_str(), "NOTICE") == 0) { - CString sTarget = CUtils::Token(sLine, 1); - CString sMsg = CUtils::Token(sLine, 2, true); + CString sTarget = sLine.Token(1); + CString sMsg = sLine.Token(2, true); if (CUtils::Left(sMsg, 1) == ":") { CUtils::LeftChomp(sMsg); @@ -148,7 +148,7 @@ void CUserSock::ReadLine(const CString& sData) { } if (CUtils::wildcmp("DCC * (*)", sMsg.c_str())) { - sMsg = "DCC " + CUtils::Token(sLine, 3) + " (" + ((m_pIRCSock) ? m_pIRCSock->GetLocalIP() : GetLocalIP()) + ")"; + sMsg = "DCC " + sLine.Token(3) + " (" + ((m_pIRCSock) ? m_pIRCSock->GetLocalIP() : GetLocalIP()) + ")"; } CChan* pChan = m_pUser->FindChan(sTarget); @@ -178,8 +178,8 @@ void CUserSock::ReadLine(const CString& sData) { PutIRC("NOTICE " + sTarget + " :" + sMsg); return; } else if (strcasecmp(sCommand.c_str(), "PRIVMSG") == 0) { - CString sTarget = CUtils::Token(sLine, 1); - CString sMsg = CUtils::Token(sLine, 2, true); + CString sTarget = sLine.Token(1); + CString sMsg = sLine.Token(2, true); if (CUtils::Left(sMsg, 1) == ":") { CUtils::LeftChomp(sMsg); @@ -191,11 +191,11 @@ void CUserSock::ReadLine(const CString& sData) { CUtils::RightChomp(sCTCP); if (strncasecmp(sCTCP.c_str(), "DCC ", 4) == 0) { - CString sType = CUtils::Token(sCTCP, 1); - CString sFile = CUtils::Token(sCTCP, 2); - unsigned long uLongIP = strtoul(CUtils::Token(sCTCP, 3).c_str(), NULL, 10); - unsigned short uPort = strtoul(CUtils::Token(sCTCP, 4).c_str(), NULL, 10); - unsigned long uFileSize = strtoul(CUtils::Token(sCTCP, 5).c_str(), NULL, 10); + CString sType = sCTCP.Token(1); + CString sFile = sCTCP.Token(2); + unsigned long uLongIP = strtoul(sCTCP.Token(3).c_str(), NULL, 10); + unsigned short uPort = strtoul(sCTCP.Token(4).c_str(), NULL, 10); + unsigned long uFileSize = strtoul(sCTCP.Token(5).c_str(), NULL, 10); CString sIP = (m_pIRCSock) ? m_pIRCSock->GetLocalIP() : GetLocalIP(); if (!m_pUser->UseClientIP()) { @@ -248,8 +248,8 @@ void CUserSock::ReadLine(const CString& sData) { } } else if (strcasecmp(sType.c_str(), "RESUME") == 0) { // PRIVMSG user :DCC RESUME "znc.o" 58810 151552 - unsigned short uResumePort = atoi(CUtils::Token(sCTCP, 3).c_str()); - unsigned long uResumeSize = strtoul(CUtils::Token(sCTCP, 4).c_str(), NULL, 10); + unsigned short uResumePort = atoi(sCTCP.Token(3).c_str()); + unsigned long uResumeSize = strtoul(sCTCP.Token(4).c_str(), NULL, 10); // Need to lookup the connection by port, filter the port, and forward to the user if (strncasecmp(sTarget.c_str(), m_pUser->GetStatusPrefix().c_str(), m_pUser->GetStatusPrefix().length()) == 0) { @@ -261,7 +261,7 @@ void CUserSock::ReadLine(const CString& sData) { } else { CDCCBounce* pSock = (CDCCBounce*) m_pZNC->GetManager().FindSockByLocalPort(uResumePort); if ((pSock) && (strncasecmp(pSock->GetSockName().c_str(), "DCC::", 5) == 0)) { - PutIRC("PRIVMSG " + sTarget + " :\001DCC " + sType + " " + sFile + " " + CUtils::ToString(pSock->GetUserPort()) + " " + CUtils::Token(sCTCP, 4) + "\001"); + PutIRC("PRIVMSG " + sTarget + " :\001DCC " + sType + " " + sFile + " " + CUtils::ToString(pSock->GetUserPort()) + " " + sCTCP.Token(4) + "\001"); } } } else if (strcasecmp(sType.c_str(), "ACCEPT") == 0) { @@ -274,8 +274,8 @@ void CUserSock::ReadLine(const CString& sData) { CDCCBounce* pSock = (CDCCBounce*) Manager[a]; if ((pSock) && (strncasecmp(pSock->GetSockName().c_str(), "DCC::", 5) == 0)) { - if (pSock->GetUserPort() == atoi(CUtils::Token(sCTCP, 3).c_str())) { - PutIRC("PRIVMSG " + sTarget + " :\001DCC " + sType + " " + sFile + " " + CUtils::ToString(pSock->GetLocalPort()) + " " + CUtils::Token(sCTCP, 4) + "\001"); + if (pSock->GetUserPort() == atoi(sCTCP.Token(3).c_str())) { + PutIRC("PRIVMSG " + sTarget + " :\001DCC " + sType + " " + sFile + " " + CUtils::ToString(pSock->GetLocalPort()) + " " + sCTCP.Token(4) + "\001"); } } } @@ -383,12 +383,12 @@ void CUserSock::UserCommand(const CString& sLine) { return; } - CString sCommand = CUtils::Token(sLine, 0); + CString sCommand = sLine.Token(0); if (strcasecmp(sCommand.c_str(), "HELP") == 0) { HelpUser(); } else if (strcasecmp(sCommand.c_str(), "LISTNICKS") == 0) { - CString sChan = CUtils::Token(sLine, 1); + CString sChan = sLine.Token(1); if (sChan.empty()) { PutStatus("Usage: ListNicks <#chan>"); @@ -438,7 +438,7 @@ void CUserSock::UserCommand(const CString& sLine) { } } else if (strcasecmp(sCommand.c_str(), "DETACH") == 0) { if (m_pUser) { - CString sChan = CUtils::Token(sLine, 1); + CString sChan = sLine.Token(1); if (sChan.empty()) { PutStatus("Usage: Detach <#chan>"); @@ -457,7 +457,7 @@ void CUserSock::UserCommand(const CString& sLine) { } else if (strcasecmp(sCommand.c_str(), "VERSION") == 0) { PutStatus(CZNC::GetTag()); } else if (strcasecmp(sCommand.c_str(), "SHUTDOWN") == 0) { - CString sQuitMsg = CUtils::Token(sLine, 1, true); + CString sQuitMsg = sLine.Token(1, true); if (!sQuitMsg.empty()) { m_pUser->SetQuitMsg(sQuitMsg); @@ -515,25 +515,25 @@ void CUserSock::UserCommand(const CString& sLine) { } } } else if (strcasecmp(sCommand.c_str(), "ADDSERVER") == 0) { - CString sServer = CUtils::Token(sLine, 1); + CString sServer = sLine.Token(1); if (sServer.empty()) { PutStatus("Usage: AddServer [[+]port] [pass]"); return; } - if (m_pUser->FindServer(CUtils::Token(sLine, 1))) { + if (m_pUser->FindServer(sLine.Token(1))) { PutStatus("That server already exists"); return; } - if (m_pUser && m_pUser->AddServer(CUtils::Token(sLine, 1, true))) { + if (m_pUser && m_pUser->AddServer(sLine.Token(1, true))) { PutStatus("Server added"); } else { PutStatus("Unable to add that server"); } } else if (strcasecmp(sCommand.c_str(), "REMSERVER") == 0 || strcasecmp(sCommand.c_str(), "DELSERVER") == 0) { - CString sServer = CUtils::Token(sLine, 1); + CString sServer = sLine.Token(1); if (sServer.empty()) { PutStatus("Usage: RemServer "); @@ -605,8 +605,8 @@ void CUserSock::UserCommand(const CString& sLine) { } } } else if (strcasecmp(sCommand.c_str(), "SEND") == 0) { - CString sToNick = CUtils::Token(sLine, 1); - CString sFile = CUtils::Token(sLine, 2); + CString sToNick = sLine.Token(1); + CString sFile = sLine.Token(2); if ((sToNick.empty()) || (sFile.empty())) { PutStatus("Usage: Send "); @@ -617,7 +617,7 @@ void CUserSock::UserCommand(const CString& sLine) { m_pUser->SendFile(sToNick, sFile); } } else if (strcasecmp(sCommand.c_str(), "GET") == 0) { - CString sFile = CUtils::Token(sLine, 1); + CString sFile = sLine.Token(1); if (sFile.empty()) { PutStatus("Usage: Get "); @@ -756,8 +756,8 @@ void CUserSock::UserCommand(const CString& sLine) { #endif return; } else if ((strcasecmp(sCommand.c_str(), "LOADMOD") == 0) || (strcasecmp(sCommand.c_str(), "LOADMODULE") == 0)) { - CString sMod = CUtils::Token(sLine, 1); - CString sArgs = CUtils::Token(sLine, 2, true); + CString sMod = sLine.Token(1); + CString sArgs = sLine.Token(2, true); if (m_pUser->DenyLoadMod()) { PutStatus("Unable to load [" + sMod + "] Access Denied."); @@ -777,7 +777,7 @@ void CUserSock::UserCommand(const CString& sLine) { #endif return; } else if ((strcasecmp(sCommand.c_str(), "UNLOADMOD") == 0) || (strcasecmp(sCommand.c_str(), "UNLOADMODULE") == 0)) { - CString sMod = CUtils::Token(sLine, 1); + CString sMod = sLine.Token(1); if (m_pUser->DenyLoadMod()) { PutStatus("Unable to unload [" + sMod + "] Access Denied."); @@ -797,8 +797,8 @@ void CUserSock::UserCommand(const CString& sLine) { #endif return; } else if ((strcasecmp(sCommand.c_str(), "RELOADMOD") == 0) || (strcasecmp(sCommand.c_str(), "RELOADMODULE") == 0)) { - CString sMod = CUtils::Token(sLine, 1); - CString sArgs = CUtils::Token(sLine, 2, true); + CString sMod = sLine.Token(1); + CString sArgs = sLine.Token(2, true); if (m_pUser->DenyLoadMod()) { PutStatus("Unable to reload [" + sMod + "] Access Denied."); @@ -818,7 +818,7 @@ void CUserSock::UserCommand(const CString& sLine) { #endif return; } else if (strcasecmp(sCommand.c_str(), "SETBUFFER") == 0) { - CString sChan = CUtils::Token(sLine, 1); + CString sChan = sLine.Token(1); if (sChan.empty()) { PutStatus("Usage: SetBuffer <#chan> [linecount]"); @@ -837,7 +837,7 @@ void CUserSock::UserCommand(const CString& sLine) { return; } - unsigned int uLineCount = strtoul(CUtils::Token(sLine, 2).c_str(), NULL, 10); + unsigned int uLineCount = strtoul(sLine.Token(2).c_str(), NULL, 10); if (uLineCount > 500) { PutStatus("Max linecount is 500."); diff --git a/Utils.cpp b/Utils.cpp index 8b1d5c69..566150f1 100644 --- a/Utils.cpp +++ b/Utils.cpp @@ -430,29 +430,6 @@ string& CUtils::RightChomp(string& s, unsigned int uLen) { return s; } -string CUtils::Token(const string& s, unsigned int uPos, bool bRest, char cSep) { - string sRet; - const char* p = s.c_str(); - - while (*p) { - if (uPos) { - if (*p == cSep) { - uPos--; - } - } else { - if ((*p == cSep) && (!bRest)) { - return sRet; - } - - sRet += *p; - } - - p++; - } - - return sRet; -} - string CUtils::Ellipsize(const string& s, unsigned int uLen) { if (uLen >= s.size()) { return s; diff --git a/Utils.h b/Utils.h index b5688ffd..f4f708e7 100644 --- a/Utils.h +++ b/Utils.h @@ -61,7 +61,6 @@ public: static string& Trim(string& s); static string& LeftChomp(string& s, unsigned int uLen = 1); static string& RightChomp(string& s, unsigned int uLen = 1); - static string Token(const string& s, unsigned int uPos, bool bRest = false, char cSep = ' '); static string Ellipsize(const string& s, unsigned int uLen); static bool wildcmp(const string& sWild, const string& sString); diff --git a/modules/away.cpp b/modules/away.cpp index d3dfa026..44226289 100644 --- a/modules/away.cpp +++ b/modules/away.cpp @@ -20,6 +20,9 @@ * * * $Log$ + * Revision 1.10 2005/05/07 09:18:49 prozacx + * Moved CUtils::Token() into CString class + * * Revision 1.9 2005/05/05 18:11:03 prozacx * Changed all references to std::string over to CString * @@ -177,7 +180,7 @@ public: virtual void OnModCommand( const CString& sCommand ) { - CString sCmdName = CUtils::Token(sCommand, 0); + CString sCmdName = sCommand.Token(0); if ( sCmdName == "away" ) { Away(); @@ -196,7 +199,7 @@ public: } else if ( sCmdName == "delete" ) { - CString sWhich = CUtils::Token(sCommand, 1); + CString sWhich = sCommand.Token(1); if ( sWhich == "all" ) { PutModNotice( "Deleted " + CUtils::ToString( m_vMessages.size() ) + " Messages.", "away" ); @@ -237,7 +240,7 @@ public: } else if ( sCmdName == "pass" ) { - m_sPassword = CUtils::Token( sCommand, 1 ); + m_sPassword = sCommand.Token( 1 ); PutModNotice( "Password Updated to [" + m_sPassword + "]" ); } else if ( sCmdName == "show" ) @@ -245,9 +248,9 @@ public: map< CString, vector< CString> > msvOutput; for( u_int a = 0; a < m_vMessages.size(); a++ ) { - CString sTime = CUtils::Token( m_vMessages[a], 0, false, ':' ); - CString sWhom = CUtils::Token( m_vMessages[a], 1, false, ':' ); - CString sMessage = CUtils::Token( m_vMessages[a], 2, true, ':' ); + CString sTime = m_vMessages[a].Token( 0, false, ':' ); + CString sWhom = m_vMessages[a].Token( 1, false, ':' ); + CString sMessage = m_vMessages[a].Token( 2, true, ':' ); if ( ( sTime.empty() ) || ( sWhom.empty() ) || ( sMessage.empty() ) ) { diff --git a/modules/schat.cpp b/modules/schat.cpp index f14af648..7c12ed70 100644 --- a/modules/schat.cpp +++ b/modules/schat.cpp @@ -16,6 +16,9 @@ * Author: imaginos * * $Log$ + * Revision 1.10 2005/05/07 09:18:56 prozacx + * Moved CUtils::Token() into CString class + * * Revision 1.9 2005/05/05 18:11:04 prozacx * Changed all references to std::string over to CString * @@ -419,8 +422,8 @@ public: if ( strncasecmp( sMessage.c_str(), "DCC SCHAT ", 10 ) == 0 ) { // chat ip port - unsigned long iIP = strtoul( CUtils::Token( sMessage, 3 ).c_str(), NULL, 10 ); - unsigned short iPort = strtoul( CUtils::Token( sMessage, 4 ).c_str(), NULL, 10 ); + unsigned long iIP = strtoul( sMessage.Token( 3 ).c_str(), NULL, 10 ); + unsigned short iPort = strtoul( sMessage.Token( 4 ).c_str(), NULL, 10 ); if ( ( iIP > 0 ) && ( iPort > 0 ) ) { diff --git a/modules/shell.cpp b/modules/shell.cpp index 191ccf51..125c8462 100644 --- a/modules/shell.cpp +++ b/modules/shell.cpp @@ -116,9 +116,9 @@ public: } PutShell("znc$"); - } else if (strcasecmp(CUtils::Token(sCommand, 0).c_str(), "SEND") == 0) { - CString sToNick = CUtils::Token(sCommand, 1); - CString sFile = CUtils::Token(sCommand, 2); + } else if (strcasecmp(sCommand.Token(0).c_str(), "SEND") == 0) { + CString sToNick = sCommand.Token(1); + CString sFile = sCommand.Token(2); if ((sToNick.empty()) || (sFile.empty())) { PutShell("usage: Send "); @@ -133,8 +133,8 @@ public: m_pUser->SendFile(sToNick, sFile, GetModName()); } } - } else if (strcasecmp(CUtils::Token(sCommand, 0).c_str(), "GET") == 0) { - CString sFile = CUtils::Token(sCommand, 1); + } else if (strcasecmp(sCommand.Token(0).c_str(), "GET") == 0) { + CString sFile = sCommand.Token(1); if (sFile.empty()) { PutShell("usage: Get "); diff --git a/modules/watch.cpp b/modules/watch.cpp index 574cce77..6c77f940 100644 --- a/modules/watch.cpp +++ b/modules/watch.cpp @@ -121,7 +121,7 @@ public: void SetDisabled(bool b = true) { m_bDisabled = b; } void SetSources(const CString& sSources) { unsigned int uIdx = 1; - CString sSrc = CUtils::Token(sSources, 0); + CString sSrc = sSources.Token(0); m_vsSources.clear(); @@ -134,7 +134,7 @@ public: m_vsSources.push_back(CWatchSource(sSrc, false)); } - sSrc = CUtils::Token(sSources, uIdx++); + sSrc = sSources.Token(uIdx++); } } // !Setters @@ -179,7 +179,7 @@ public: virtual bool OnUserRaw(CString& sLine) { if (strncasecmp(sLine.c_str(), "WATCH ", 6) == 0) { - Watch(CUtils::Token(sLine, 1), CUtils::Token(sLine, 2), CUtils::Token(sLine, 3, true), true); + Watch(sLine.Token(1), sLine.Token(2), sLine.Token(3, true), true); return true; } @@ -242,9 +242,9 @@ public: } virtual void OnModCommand(const CString& sCommand) { - CString sCmdName = CUtils::Token(sCommand, 0); + CString sCmdName = sCommand.Token(0); if (strcasecmp(sCmdName.c_str(), "ADD") == 0 || strcasecmp(sCmdName.c_str(), "WATCH") == 0) { - Watch(CUtils::Token(sCommand, 1), CUtils::Token(sCommand, 2), CUtils::Token(sCommand, 3, true)); + Watch(sCommand.Token(1), sCommand.Token(2), sCommand.Token(3, true)); } else if (strcasecmp(sCmdName.c_str(), "HELP") == 0) { Help(); } else if (strcasecmp(sCmdName.c_str(), "LIST") == 0) { @@ -252,7 +252,7 @@ public: } else if (strcasecmp(sCmdName.c_str(), "DUMP") == 0) { Dump(); } else if (strcasecmp(sCmdName.c_str(), "ENABLE") == 0) { - CString sTok = CUtils::Token(sCommand, 1); + CString sTok = sCommand.Token(1); if (sTok == "*") { SetDisabled(~0, false); @@ -260,7 +260,7 @@ public: SetDisabled(atoi(sTok.c_str()), false); } } else if (strcasecmp(sCmdName.c_str(), "DISABLE") == 0) { - CString sTok = CUtils::Token(sCommand, 1); + CString sTok = sCommand.Token(1); if (sTok == "*") { SetDisabled(~0, true); @@ -268,12 +268,12 @@ public: SetDisabled(atoi(sTok.c_str()), true); } } else if (strcasecmp(sCmdName.c_str(), "SETSOURCES") == 0) { - SetSources(atoi(CUtils::Token(sCommand, 1).c_str()), CUtils::Token(sCommand, 2, true)); + SetSources(atoi(sCommand.Token(1).c_str()), sCommand.Token(2, true)); } else if (strcasecmp(sCmdName.c_str(), "CLEAR") == 0) { m_lsWatchers.clear(); PutModule("All entries cleared."); } else if (strcasecmp(sCmdName.c_str(), "BUFFER") == 0) { - CString sCount = CUtils::Token(sCommand, 1); + CString sCount = sCommand.Token(1); if (sCount.size()) { m_Buffer.SetLineCount(atoi(sCount.c_str())); @@ -281,9 +281,9 @@ public: PutModule("Buffer count is set to [" + CUtils::ToString(m_Buffer.GetLineCount()) + "]"); } else if (strcasecmp(sCmdName.c_str(), "DEL") == 0) { - Remove(atoi(CUtils::Token(sCommand, 1).c_str())); + Remove(atoi(sCommand.Token(1).c_str())); } else { - PutModule("Unknown command: [" + CUtils::Token(sCommand, 0) + "]"); + PutModule("Unknown command: [" + sCommand.Token(0) + "]"); } } diff --git a/znc.cpp b/znc.cpp index 3273f69e..cc03dc9f 100644 --- a/znc.cpp +++ b/znc.cpp @@ -552,8 +552,8 @@ bool CZNC::ParseConfig(const CString& sConfig) { } // If we have a regular line, figure out where it goes - CString sName = CUtils::Token(sLine, 0, false, '='); - CString sValue = CUtils::Token(sLine, 1, true, '='); + CString sName = sLine.Token(0, false, '='); + CString sValue = sLine.Token(1, true, '='); CUtils::Trim(sName); CUtils::Trim(sValue); @@ -649,11 +649,11 @@ bool CZNC::ParseConfig(const CString& sConfig) { pUser->AddChan(sValue); continue; } else if (strcasecmp(sName.c_str(), "LoadModule") == 0) { - CString sModName = CUtils::Token(sValue, 0); + CString sModName = sValue.Token(0); CUtils::PrintAction("Loading Module [" + sModName + "]"); #ifdef _MODULES CString sModRet; - CString sArgs = CUtils::Token(sValue, 1, true); + CString sArgs = sValue.Token(1, true); try { bool bModRet = pUser->GetModules().LoadModule(sModName, sArgs, pUser, sModRet);