X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_nationalchars.cpp;h=2b7e66a5038e2bcf9a6791331312de0cebbda0c0;hb=f6b33a8facd6ca200292786c1061782c41cdd278;hp=8e836c407d59e3e0be3c810b787439c1e3e0322d;hpb=0b63ccd0b5cb26883d6becb196fb98e4f95d0397;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_nationalchars.cpp b/src/modules/m_nationalchars.cpp index 8e836c407..2b7e66a50 100644 --- a/src/modules/m_nationalchars.cpp +++ b/src/modules/m_nationalchars.cpp @@ -20,18 +20,18 @@ */ -/* Contains a code of Unreal IRCd + Bynets patch ( http://www.unrealircd.com/ and http://www.bynets.org/ ) - Original patch is made by Dmitry "Killer{R}" Kononko. ( http://killprog.com/ ) +/* Contains a code of Unreal IRCd + Bynets patch (https://www.unrealircd.org and https://bynets.org) + Original patch is made by Dmitry "Killer{R}" Kononko. (http://killprog.com) Changed at 2008-06-15 - 2009-02-11 by Chernov-Phoenix Alexey (Phoenix@RusNet) mailto:phoenix /email address separator/ pravmail.ru */ #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/");