X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Ftreesocket1.cpp;h=d99d8d6c9d55021faae8bd54e112623a63194a50;hb=dbf4d595433ecefeb61f1267ffa515a91c3ab548;hp=432ee2a098d7a8a57c6b5dc43fb06e5c9e685dbd;hpb=b6a5e2bd143cdd2fc610f79c87729d2e211da7ff;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/treesocket1.cpp b/src/modules/m_spanningtree/treesocket1.cpp index 432ee2a09..d99d8d6c9 100644 --- a/src/modules/m_spanningtree/treesocket1.cpp +++ b/src/modules/m_spanningtree/treesocket1.cpp @@ -48,7 +48,7 @@ TreeSocket::TreeSocket(SpanningTreeUtilities* Util, const std::string& shost, in std::string name = (**i).ModuleSourceFile; int a = name.rfind('_'); int b = name.rfind('.'); - name = name.substr(a, b-a-1); + name = name.substr(a+1, b-a-1); if (name == hook) { AddIOHook(*i); @@ -106,6 +106,8 @@ void TreeSocket::CleanNegotiationInfo() bool TreeSocket::cull() { Utils->timeoutlist.erase(this); + if (myautoconnect) + Utils->Creator->ConnectServer(myautoconnect, false); return this->BufferedSocket::cull(); } @@ -150,7 +152,6 @@ void TreeSocket::OnError(BufferedSocketError e) { case I_ERR_CONNECT: ServerInstance->SNO->WriteToSnoMask('l', "Connection failed: Connection to \002%s\002 refused", myhost.c_str()); - Utils->Creator->ConnectServer(myautoconnect); break; case I_ERR_SOCKET: ServerInstance->SNO->WriteToSnoMask('l', "Connection failed: Could not create socket (%s)", strerror(errno));