X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_redirect.cpp;h=26d6b162b9ec7009daae11c3f8645eeb4df5c6b7;hb=d0a472641b7c77fe5f40a6affb62de67be2ee888;hp=6830f18cee1724f6cd0192848b08662b6a3a17b4;hpb=74ee9af96639323d852a8b15be72ee9974e0a826;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_redirect.cpp b/src/modules/m_redirect.cpp index 6830f18ce..26d6b162b 100644 --- a/src/modules/m_redirect.cpp +++ b/src/modules/m_redirect.cpp @@ -106,13 +106,16 @@ class ModuleRedirect : public Module ModuleRedirect() : re(this), re_u(this) + { + } + + void init() { /* Setting this here so it isn't changable by rehasing the config later. */ UseUsermode = ServerInstance->Config->ConfValue("redirect")->getBool("antiredirect"); /* Channel mode */ - if (!ServerInstance->Modes->AddMode(&re)) - throw ModuleException("Could not add new modes!"); + ServerInstance->Modules->AddService(re); /* Check to see if the usermode is enabled in the config */ if (UseUsermode) @@ -121,22 +124,20 @@ class ModuleRedirect : public Module ServerInstance->Logs->Log("m_redirect", DEFAULT, "REDIRECT: Enabled usermode +L. This breaks linking with servers that do not have this enabled. This is disabled by default in the 2.0 branch but will be enabled in the next version."); /* Try to add the usermode */ - if (!ServerInstance->Modes->AddMode(&re_u)) - throw ModuleException("Could not add new modes!"); + ServerInstance->Modules->AddService(re_u); } Implementation eventlist[] = { I_OnUserPreJoin }; - ServerInstance->Modules->Attach(eventlist, this, 1); + ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); } - virtual ModResult OnUserPreJoin(User* user, Channel* chan, const char* cname, std::string &privs, const std::string &keygiven) { if (chan) { if (chan->IsModeSet('L') && chan->IsModeSet('l')) { - if (chan->GetUserCounter() >= atoi(chan->GetModeParameter('l').c_str())) + if (chan->GetUserCounter() >= ConvToInt(chan->GetModeParameter('l'))) { std::string channel = chan->GetModeParameter('L');