diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-01-10 17:47:39 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-01-10 17:47:39 +0000 |
commit | 2ba3cb83d6964649c2d6be4f3203db03f02b94ff (patch) | |
tree | 34cc12c0480379be144cba9838102a05b82c785b /src/modules/m_spanningtree.cpp | |
parent | 1e3c3d20088c148f20f2237cea54310ca4a8b98c (diff) |
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
Diffstat (limited to 'src/modules/m_spanningtree.cpp')
-rw-r--r-- | src/modules/m_spanningtree.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
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... */ |