X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Fopertype.cpp;h=99c5ea8bc44bd08ea80f97acc9b60dce97526390;hb=2f35b78fbaadb8d9a6c47ffc198bd97f91af3306;hp=1a9e36f72c3652fccddbee6753f676e271d770b1;hpb=11916574f67962dce1d7a2fdf7ef6a3d2d1fa49f;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/opertype.cpp b/src/modules/m_spanningtree/opertype.cpp index 1a9e36f72..99c5ea8bc 100644 --- a/src/modules/m_spanningtree/opertype.cpp +++ b/src/modules/m_spanningtree/opertype.cpp @@ -26,23 +26,21 @@ /** Because the core won't let users or even SERVERS set +o, * we use the OPERTYPE command to do this. */ -CmdResult CommandOpertype::HandleRemote(RemoteUser* u, std::vector& params) +CmdResult CommandOpertype::HandleRemote(RemoteUser* u, CommandBase::Params& params) { const std::string& opertype = params[0]; if (!u->IsOper()) ServerInstance->Users->all_opers.push_back(u); ModeHandler* opermh = ServerInstance->Modes->FindMode('o', MODETYPE_USER); - u->SetMode(opermh, true); + if (opermh) + u->SetMode(opermh, true); - OperIndex::iterator iter = ServerInstance->Config->OperTypes.find(opertype); + ServerConfig::OperIndex::const_iterator iter = ServerInstance->Config->OperTypes.find(opertype); if (iter != ServerInstance->Config->OperTypes.end()) u->oper = iter->second; else - { - u->oper = new OperInfo; - u->oper->name = opertype; - } + u->oper = new OperInfo(opertype); if (Utils->quiet_bursts) { @@ -51,11 +49,11 @@ CmdResult CommandOpertype::HandleRemote(RemoteUser* u, std::vector& * then do nothing. -- w00t */ TreeServer* remoteserver = TreeServer::Get(u); - if (remoteserver->bursting || remoteserver->IsSilentULine()) + if (remoteserver->IsBehindBursting() || remoteserver->IsSilentULine()) return CMD_SUCCESS; } - ServerInstance->SNO->WriteToSnoMask('O',"From %s: User %s (%s@%s) is now an IRC operator of type %s",u->server->GetName().c_str(), u->nick.c_str(),u->ident.c_str(), u->host.c_str(), opertype.c_str()); + ServerInstance->SNO->WriteToSnoMask('O',"From %s: User %s (%s@%s) is now an IRC operator of type %s",u->server->GetName().c_str(), u->nick.c_str(),u->ident.c_str(), u->GetRealHost().c_str(), opertype.c_str()); return CMD_SUCCESS; }