diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-03-11 19:06:58 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-03-11 19:06:58 +0000 |
commit | 6e37619a6f1b66d19ea70cc8f4f25d30a4811203 (patch) | |
tree | 07f8a786de901d4ef53eb794662df7b9f42b0e0c | |
parent | 2e629a662d5b180ef35d32bd63e5dd0e1fcf266c (diff) |
Fixes :P
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3677 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/modules/m_spanningtree.cpp | 18 | ||||
-rwxr-xr-x | src/svn-rev.sh | 2 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/modules/m_spanningtree.cpp b/src/modules/m_spanningtree.cpp index 3f3613dd2..78c37c584 100644 --- a/src/modules/m_spanningtree.cpp +++ b/src/modules/m_spanningtree.cpp @@ -1410,26 +1410,32 @@ class TreeSocket : public InspSocket */ std::string burst = "BURST "+ConvToStr(time(NULL)); std::string endburst = "ENDBURST"; - Srv->SendOpers("*** Bursting to \2"+s->GetName()+"\2."); + // Because by the end of the netburst, it could be gone! + std::string name = s->GetName(); + Srv->SendOpers("*** Bursting to \2"+name+"\2."); this->WriteLine(burst); ServerInstance->DoOneIteration(false); /* send our version string */ this->WriteLine(":"+Srv->GetServerName()+" VERSION :"+Srv->GetVersion()); /* Send server tree */ - this->SendServers(TreeRoot,s,1); + if (FindServer(name)) + this->SendServers(TreeRoot,s,1); ServerInstance->DoOneIteration(false); /* Send users and their oper status */ - this->SendUsers(s); + if (FindServer(name)) + this->SendUsers(s); ServerInstance->DoOneIteration(false); /* Send everything else (channel modes, xlines etc) */ - this->SendChannelModes(s); + if (FindServer(name)) + this->SendChannelModes(s); ServerInstance->DoOneIteration(false); - this->SendXLines(s); + if (FindServer(name)) + this->SendXLines(s); ServerInstance->DoOneIteration(false); FOREACH_MOD(I_OnSyncOtherMetaData,OnSyncOtherMetaData((Module*)TreeProtocolModule,(void*)this)); ServerInstance->DoOneIteration(false); this->WriteLine(endburst); - Srv->SendOpers("*** Finished bursting to \2"+s->GetName()+"\2."); + Srv->SendOpers("*** Finished bursting to \2"+name+"\2."); } /* This function is called when we receive data from a remote diff --git a/src/svn-rev.sh b/src/svn-rev.sh index 7ef250f0f..e5d94e209 100755 --- a/src/svn-rev.sh +++ b/src/svn-rev.sh @@ -1 +1 @@ -echo 3673 +echo 3676 |