+ irc::modestacker modestack(ServerInstance, false);
+ StringDeque stackresult;
+ std::vector<std::string> mode_junk;
+ mode_junk.push_back(chan->name);
+
+ for(BanRedirectList::iterator i = redirects->begin(); i != redirects->end(); i++)
+ {
+ modestack.Push('b', i->targetchan.insert(0, i->banmask));
+ }
+
+ for(BanRedirectList::iterator i = redirects->begin(); i != redirects->end(); i++)
+ {
+ modestack.PushPlus();
+ modestack.Push('b', i->banmask);
+ }
+
+ while(modestack.GetStackedLine(stackresult))
+ {
+ for(StringDeque::size_type i = 0; i < stackresult.size(); i++)
+ {
+ mode_junk.push_back(stackresult[i]);
+ }
+
+ ServerInstance->SendMode(mode_junk, ServerInstance->FakeClient);
+ }
+