aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_spanningtree/fjoin.cpp
diff options
context:
space:
mode:
authorGravatar Attila Molnar2015-01-09 14:56:28 +0100
committerGravatar Attila Molnar2015-01-09 14:56:28 +0100
commita0c90ee606ad4ddc49440a5157a13d4ab6f54e2b (patch)
tree3b79a02963d73a3e6349cebcbac5637a6d6a1961 /src/modules/m_spanningtree/fjoin.cpp
parentm_spanningtree Add CmdBuilder::push_raw() overload for ranges (diff)
downloadinspircd++-a0c90ee606ad4ddc49440a5157a13d4ab6f54e2b.tar.gz
inspircd++-a0c90ee606ad4ddc49440a5157a13d4ab6f54e2b.tar.bz2
inspircd++-a0c90ee606ad4ddc49440a5157a13d4ab6f54e2b.zip
m_spanningtree Add overload for add() and has_room(), giving more flexibility to subclasses of CommandFJoin::Builder
Diffstat (limited to 'src/modules/m_spanningtree/fjoin.cpp')
-rw-r--r--src/modules/m_spanningtree/fjoin.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/modules/m_spanningtree/fjoin.cpp b/src/modules/m_spanningtree/fjoin.cpp
index f0d804880..bcd8afe73 100644
--- a/src/modules/m_spanningtree/fjoin.cpp
+++ b/src/modules/m_spanningtree/fjoin.cpp
@@ -245,16 +245,16 @@ CommandFJoin::Builder::Builder(Channel* chan, TreeServer* source)
push_raw(chan->ChanModes(true)).push_raw(" :");
}
-void CommandFJoin::Builder::add(Membership* memb)
+void CommandFJoin::Builder::add(Membership* memb, std::string::const_iterator mbegin, std::string::const_iterator mend)
{
- push_raw(memb->modes).push_raw(',').push_raw(memb->user->uuid);
+ push_raw(mbegin, mend).push_raw(',').push_raw(memb->user->uuid);
push_raw(':').push_raw_int(memb->id);
push_raw(' ');
}
-bool CommandFJoin::Builder::has_room(Membership* memb) const
+bool CommandFJoin::Builder::has_room(std::string::size_type nummodes) const
{
- return ((str().size() + memb->modes.size() + UIDGenerator::UUID_LENGTH + 2 + membid_max_digits + 1) <= maxline);
+ return ((str().size() + nummodes + UIDGenerator::UUID_LENGTH + 2 + membid_max_digits + 1) <= maxline);
}
void CommandFJoin::Builder::clear()