From 2ba3cb83d6964649c2d6be4f3203db03f02b94ff Mon Sep 17 00:00:00 2001 From: brain Date: Wed, 10 Jan 2007 17:47:39 +0000 Subject: Also, if the line already existed, dont OR the value in, so that if all the say, glines we receive already exist, dont bother to apply glines :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6290 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_spanningtree.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index 0687db515..1a9affaf1 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -2648,12 +2648,14 @@ class TreeSocket : public InspSocket case 'Z': propogate = Instance->XLines->add_zline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str()); Instance->XLines->zline_set_creation_time(params[1].c_str(), atoi(params[3].c_str())); - Utils->lines_to_apply |= APPLY_ZLINES; + if (propogate) + Utils->lines_to_apply |= APPLY_ZLINES; break; case 'Q': propogate = Instance->XLines->add_qline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str()); Instance->XLines->qline_set_creation_time(params[1].c_str(), atoi(params[3].c_str())); - Utils->lines_to_apply |= APPLY_QLINES; + if (propogate) + Utils->lines_to_apply |= APPLY_QLINES; break; case 'E': propogate = Instance->XLines->add_eline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str()); @@ -2662,11 +2664,13 @@ class TreeSocket : public InspSocket case 'G': propogate = Instance->XLines->add_gline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str()); Instance->XLines->gline_set_creation_time(params[1].c_str(), atoi(params[3].c_str())); - Utils->lines_to_apply |= APPLY_GLINES; + if (propogate) + Utils->lines_to_apply |= APPLY_GLINES; break; case 'K': propogate = Instance->XLines->add_kline(atoi(params[4].c_str()), params[2].c_str(), params[5].c_str(), params[1].c_str()); - Utils->lines_to_apply |= APPLY_KLINES; + if (propogate) + Utils->lines_to_apply |= APPLY_KLINES; break; default: /* Just in case... */ -- cgit v1.2.3