summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-12-03 14:20:30 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-12-03 14:20:30 +0000
commit9fbcd4f4aba94027bf4f2a39be0d617f816a1638 (patch)
tree3fe7e8b40bec83d52f6d8fdec3d51db3db3f446e
parentb76828d28b778b8e2c8d16f7a7c8018bea3fb442 (diff)
Infinite loops suck ass
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2125 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_spanningtree.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp
index 073e6c7cd..6efae534a 100644
--- a/src/modules/m_spanningtree.cpp
+++ b/src/modules/m_spanningtree.cpp
@@ -1215,15 +1215,20 @@ bool DoOneToAllButSenderRaw(std::string data,std::string omit,std::string prefix
}
else
{
+ log(DEBUG,"Channel privmsg going to chan %s",params[0].c_str());
chanrec* c = Srv->FindChannel(params[0]);
if (c)
{
std::deque<TreeServer*> list = GetListOfServersForChannel(c);
+ log(DEBUG,"Got a list of %d servers",list.size());
for (unsigned int i = 0; i < list.size(); i++)
{
TreeSocket* Sock = list[i]->GetSocket();
- if (Sock)
+ if ((Sock) && (list[i]->GetName() != omit) && (omitroute != list[i]))
+ {
+ log(DEBUG,"Writing privmsg to server %s",list[i]->GetName().c_str());
Sock->WriteLine(data);
+ }
}
return true;
}