diff options
| author | 2010-02-07 15:12:47 -0600 | |
|---|---|---|
| committer | 2010-08-03 17:32:34 -0400 | |
| commit | de51f1b0c6b50a375e798f6f80dbe8bc3e30ae85 (patch) | |
| tree | 9d9c20b22736f9ec2c0a734a04d2b4243495e1e3 /src/hashcomp.cpp | |
| parent | Introduce ModeID (diff) | |
Change irc::modestacker to carry mode changes by ID
Diffstat (limited to 'src/hashcomp.cpp')
| -rw-r--r-- | src/hashcomp.cpp | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/src/hashcomp.cpp b/src/hashcomp.cpp index c7acbb6be..c88e1ef77 100644 --- a/src/hashcomp.cpp +++ b/src/hashcomp.cpp @@ -373,72 +373,6 @@ CoreExport const char* irc::Spacify(const char* n) return x; } - -irc::modestacker::modestacker(bool add) : adding(add) -{ - sequence.clear(); - sequence.push_back(""); -} - -void irc::modestacker::Push(char modeletter, const std::string ¶meter) -{ - *(sequence.begin()) += modeletter; - sequence.push_back(parameter); -} - -void irc::modestacker::Push(char modeletter) -{ - this->Push(modeletter,""); -} - -void irc::modestacker::PushPlus() -{ - this->Push('+',""); -} - -void irc::modestacker::PushMinus() -{ - this->Push('-',""); -} - -int irc::modestacker::GetStackedLine(std::vector<std::string> &result, int max_line_size) -{ - if (sequence.empty()) - { - return 0; - } - - unsigned int n = 0; - int size = 1; /* Account for initial +/- char */ - int nextsize = 0; - int start = result.size(); - std::string modeline = adding ? "+" : "-"; - result.push_back(modeline); - - if (sequence.size() > 1) - nextsize = sequence[1].length() + 2; - - while (!sequence[0].empty() && (sequence.size() > 1) && (n < ServerInstance->Config->Limits.MaxModes) && ((size + nextsize) < max_line_size)) - { - modeline += *(sequence[0].begin()); - if (!sequence[1].empty()) - { - result.push_back(sequence[1]); - size += nextsize; /* Account for mode character and whitespace */ - } - sequence[0].erase(sequence[0].begin()); - sequence.erase(sequence.begin() + 1); - - if (sequence.size() > 1) - nextsize = sequence[1].length() + 2; - - n++; - } - result[start] = modeline; - - return n; -} - irc::stringjoiner::stringjoiner(const std::string &seperator, const std::vector<std::string> &sequence, int begin, int end) { if (end < begin) |
