diff options
author | Peter Powell <petpow@saberuk.com> | 2018-08-10 07:46:42 +0100 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2018-08-10 13:55:32 +0100 |
commit | 8b418f081f7ecbfdd51c84fae2298f927155fac0 (patch) | |
tree | b600035f9346e081482fe1cad75b12697b56ae4a /src/modules | |
parent | aa6912f1c9845386180df91b20b6ecd3b78ba4b9 (diff) |
Split irc::tokenparser::GetToken into GetMiddle and GetTrailing.
This simplifies the logic of irc::tokenparser considerably and
removes all of the magic index guessing that was used previously.
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/m_alias.cpp | 4 | ||||
-rw-r--r-- | src/modules/m_filter.cpp | 10 | ||||
-rw-r--r-- | src/modules/m_spanningtree/compat.cpp | 12 | ||||
-rw-r--r-- | src/modules/m_spanningtree/treesocket2.cpp | 6 | ||||
-rw-r--r-- | src/modules/m_xline_db.cpp | 2 |
5 files changed, 17 insertions, 17 deletions
diff --git a/src/modules/m_alias.cpp b/src/modules/m_alias.cpp index 433397123..76ccc6ebc 100644 --- a/src/modules/m_alias.cpp +++ b/src/modules/m_alias.cpp @@ -346,8 +346,8 @@ class ModuleAlias : public Module CommandBase::Params pars; std::string command, token; - ss.GetToken(command); - while (ss.GetToken(token)) + ss.GetMiddle(command); + while (ss.GetTrailing(token)) { pars.push_back(token); } diff --git a/src/modules/m_filter.cpp b/src/modules/m_filter.cpp index f7d73ac4a..fa78e833b 100644 --- a/src/modules/m_filter.cpp +++ b/src/modules/m_filter.cpp @@ -576,22 +576,22 @@ FilterResult ModuleFilter::DecodeFilter(const std::string &data) std::string filteraction; FilterResult res; irc::tokenstream tokens(data); - tokens.GetToken(res.freeform); - tokens.GetToken(filteraction); + tokens.GetMiddle(res.freeform); + tokens.GetMiddle(filteraction); if (!StringToFilterAction(filteraction, res.action)) throw ModuleException("Invalid action: " + filteraction); std::string filterflags; - tokens.GetToken(filterflags); + tokens.GetMiddle(filterflags); char c = res.FillFlags(filterflags); if (c != 0) throw ModuleException("Invalid flag: '" + std::string(1, c) + "'"); std::string duration; - tokens.GetToken(duration); + tokens.GetMiddle(duration); res.duration = ConvToInt(duration); - tokens.GetToken(res.reason); + tokens.GetTrailing(res.reason); /* Hax to allow spaces in the freeform without changing the design of the irc protocol */ for (std::string::iterator n = res.freeform.begin(); n != res.freeform.end(); n++) diff --git a/src/modules/m_spanningtree/compat.cpp b/src/modules/m_spanningtree/compat.cpp index dc00d6ff3..b2967af3b 100644 --- a/src/modules/m_spanningtree/compat.cpp +++ b/src/modules/m_spanningtree/compat.cpp @@ -512,11 +512,11 @@ bool TreeSocket::PreProcessOldProtocolMessage(User*& who, std::string& cmd, Comm irc::tokenstream ts(params.back()); std::string srcstr; - ts.GetToken(srcstr); + ts.GetMiddle(srcstr); srcstr.erase(0, 1); std::string token; - ts.GetToken(token); + ts.GetMiddle(token); // See if it's a numeric being sent to the target via PUSH unsigned int numeric_number = 0; @@ -545,10 +545,10 @@ bool TreeSocket::PreProcessOldProtocolMessage(User*& who, std::string& cmd, Comm params.push_back(InspIRCd::Format("%03u", numeric_number)); // Ignore the nickname in the numeric in PUSH - ts.GetToken(token); + ts.GetMiddle(token); // Rest of the tokens are the numeric parameters, add them to NUM - while (ts.GetToken(token)) + while (ts.GetTrailing(token)) params.push_back(token); } else if ((token == "PRIVMSG") || (token == "NOTICE")) @@ -557,7 +557,7 @@ bool TreeSocket::PreProcessOldProtocolMessage(User*& who, std::string& cmd, Comm cmd.swap(token); // Check if the PRIVMSG/NOTICE target is a nickname - ts.GetToken(token); + ts.GetMiddle(token); if (token.c_str()[0] == '#') { ServerInstance->Logs->Log(MODNAME, LOG_DEBUG, "Unable to translate PUSH %s to user %s from 1202 protocol server %s, target \"%s\"", cmd.c_str(), params[0].c_str(), this->MyRoot->GetName().c_str(), token.c_str()); @@ -565,7 +565,7 @@ bool TreeSocket::PreProcessOldProtocolMessage(User*& who, std::string& cmd, Comm } // Replace second parameter with the message - ts.GetToken(params[1]); + ts.GetTrailing(params[1]); } else { diff --git a/src/modules/m_spanningtree/treesocket2.cpp b/src/modules/m_spanningtree/treesocket2.cpp index d9083016c..3bc1fc71a 100644 --- a/src/modules/m_spanningtree/treesocket2.cpp +++ b/src/modules/m_spanningtree/treesocket2.cpp @@ -42,7 +42,7 @@ void TreeSocket::Split(const std::string& line, std::string& prefix, std::string { irc::tokenstream tokens(line); - if (!tokens.GetToken(prefix)) + if (!tokens.GetMiddle(prefix)) return; if (prefix[0] == ':') @@ -54,7 +54,7 @@ void TreeSocket::Split(const std::string& line, std::string& prefix, std::string this->SendError("BUG (?) Empty prefix received: " + line); return; } - if (!tokens.GetToken(command)) + if (!tokens.GetMiddle(command)) { this->SendError("BUG (?) Empty command received: " + line); return; @@ -69,7 +69,7 @@ void TreeSocket::Split(const std::string& line, std::string& prefix, std::string this->SendError("BUG (?) Empty command received: " + line); std::string param; - while (tokens.GetToken(param)) + while (tokens.GetTrailing(param)) { params.push_back(param); } diff --git a/src/modules/m_xline_db.cpp b/src/modules/m_xline_db.cpp index fe6dabca0..90f9de9d2 100644 --- a/src/modules/m_xline_db.cpp +++ b/src/modules/m_xline_db.cpp @@ -166,7 +166,7 @@ class ModuleXLineDB : public Module std::string command_p[7]; std::string tmp; - while (tokens.GetToken(tmp) && (items < 7)) + while (tokens.GetTrailing(tmp) && (items < 7)) { command_p[items] = tmp; items++; |