git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11319
e03df62e-2008-0410-955e-
edbf42e46eb7
void ModuleSpanningTree::OnAddLine(User* user, XLine *x)
{
- if (!x->IsBurstable())
+ if (!x->IsBurstable() || loopCall)
return;
char data[MAXBUF];
public:
CacheRefreshTimer *RefreshTimer;
+ /** Set to true if inside a spanningtree call, to prevent sending
+ * xlines and other things back to their source
+ */
+ bool loopCall;
/** Constructor
*/
if (data && *data)
{
this->in_buffer.append(data);
+ Utils->Creator->loopCall = true;
/* While there is at least one new line in the buffer,
* do something useful (we hope!) with it.
*/
return false;
}
}
+ Utils->Creator->loopCall = false;
return true;
}
/* EAGAIN returns an empty but non-NULL string, so this