X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_nationalchars.cpp;h=81c2d2959f0fce348f93500a6266fc0c4a66070c;hb=a032cd90ad5582914759e226085efee5aae1a1ef;hp=8e836c407d59e3e0be3c810b787439c1e3e0322d;hpb=c0aba5b728b0a921d95ec120aa638dab1520b42f;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_nationalchars.cpp b/src/modules/m_nationalchars.cpp index 8e836c407..81c2d2959 100644 --- a/src/modules/m_nationalchars.cpp +++ b/src/modules/m_nationalchars.cpp @@ -28,10 +28,10 @@ #include "inspircd.h" #include -class lwbNickHandler : public HandlerBase1 +class lwbNickHandler { public: - bool Call(const std::string&); + static bool Call(const std::string&); }; /*,m_reverse_additionalUp[256];*/ @@ -217,10 +217,9 @@ bool lwbNickHandler::Call(const std::string& nick) class ModuleNationalChars : public Module { - lwbNickHandler myhandler; - std::string charset, casemapping; + std::string charset; unsigned char m_additional[256], m_additionalUp[256], m_lower[256], m_upper[256]; - caller1 rememberer; + TR1NS::function rememberer; bool forcequit; const unsigned char * lowermap_rememberer; unsigned char prev_map[256]; @@ -259,21 +258,17 @@ class ModuleNationalChars : public Module memcpy(m_lower, rfc_case_insensitive_map, 256); national_case_insensitive_map = m_lower; - ServerInstance->IsNick = &myhandler; - } - - void On005Numeric(std::map& tokens) CXX11_OVERRIDE - { - tokens["CASEMAPPING"] = casemapping; + ServerInstance->IsNick = &lwbNickHandler::Call; } void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE { ConfigTag* tag = ServerInstance->Config->ConfValue("nationalchars"); charset = tag->getString("file"); - casemapping = tag->getString("casemapping", FileSystem::GetFileName(charset)); + std::string casemapping = tag->getString("casemapping", FileSystem::GetFileName(charset)); if (casemapping.find(' ') != std::string::npos) throw ModuleException(" must not contain any spaces!"); + ServerInstance->Config->CaseMapping = casemapping; #if defined _WIN32 if (!FileSystem::StartsWithWindowsDriveLetter(charset)) charset.insert(0, "./locales/");