]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_nationalchars.cpp
m_spanningtree Replace manual string building of outgoing commands with CmdBuilder...
[user/henk/code/inspircd.git] / src / modules / m_nationalchars.cpp
index ff71ae9ad8f5214e9255f4829d2daf53468e13c3..6889e388f30670b5c36e09e9420895aa17544ba6 100644 (file)
    by Chernov-Phoenix Alexey (Phoenix@RusNet) mailto:phoenix /email address separator/ pravmail.ru */
 
 #include "inspircd.h"
-#include "caller.h"
 #include <fstream>
 
 class lwbNickHandler : public HandlerBase1<bool, const std::string&>
 {
  public:
-       lwbNickHandler() { }
-       ~lwbNickHandler() { }
        bool Call(const std::string&);
 };
 
@@ -239,10 +236,6 @@ class ModuleNationalChars : public Module
                national_case_insensitive_map = m_lower;
 
                ServerInstance->IsNick = &myhandler;
-
-               Implementation eventlist[] = { I_OnRehash, I_On005Numeric };
-               ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation));
-               OnRehash(NULL);
        }
 
        void On005Numeric(std::map<std::string, std::string>& tokens) CXX11_OVERRIDE
@@ -250,7 +243,7 @@ class ModuleNationalChars : public Module
                tokens["CASEMAPPING"] = casemapping;
        }
 
-       void OnRehash(User* user) CXX11_OVERRIDE
+       void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE
        {
                ConfigTag* tag = ServerInstance->Config->ConfValue("nationalchars");
                charset = tag->getString("file");
@@ -300,10 +293,10 @@ class ModuleNationalChars : public Module
        /*so Bynets Unreal distribution stuff*/
        void loadtables(std::string filename, unsigned char ** tables, unsigned char cnt, char faillimit)
        {
-               std::ifstream ifs(filename.c_str());
+               std::ifstream ifs(ServerInstance->Config->Paths.PrependConfig(filename).c_str());
                if (ifs.fail())
                {
-                       ServerInstance->Logs->Log("m_nationalchars", LOG_DEFAULT, "loadtables() called for missing file: %s", filename.c_str());
+                       ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "loadtables() called for missing file: %s", filename.c_str());
                        return;
                }
 
@@ -318,7 +311,7 @@ class ModuleNationalChars : public Module
                {
                        if (loadtable(ifs, tables[n], 255) && (n < faillimit))
                        {
-                               ServerInstance->Logs->Log("m_nationalchars", LOG_DEFAULT, "loadtables() called for illegal file: %s (line %d)", filename.c_str(), n+1);
+                               ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "loadtables() called for illegal file: %s (line %d)", filename.c_str(), n+1);
                                return;
                        }
                }