X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_sethost.cpp;h=2ef0c054865a6fcf9a19ee5b1631f6324e0c4938;hb=a5d110282a864fd2e91b51ce360a977cd0643657;hp=ae0cc7c5641eb301ff199b987f0ae884b54ddc29;hpb=c8b41aa5d256d99eee67ec94492a94dc30e0ea35;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_sethost.cpp b/src/modules/m_sethost.cpp index ae0cc7c56..2ef0c0548 100644 --- a/src/modules/m_sethost.cpp +++ b/src/modules/m_sethost.cpp @@ -32,6 +32,7 @@ class CommandSethost : public Command public: CommandSethost(Module* Creator, char* hmap) : Command(Creator,"SETHOST", 1), hostmap(hmap) { + allow_empty_last_param = false; flags_needed = 'o'; syntax = ""; TRANSLATE2(TR_TEXT, TR_END); } @@ -47,11 +48,7 @@ class CommandSethost : public Command return CMD_FAILURE; } } - if (len == 0) - { - user->WriteServ("NOTICE %s :*** SETHOST: Host must be specified", user->nick.c_str()); - return CMD_FAILURE; - } + if (len > 64) { user->WriteServ("NOTICE %s :*** SETHOST: Host too long",user->nick.c_str()); @@ -76,21 +73,20 @@ class ModuleSetHost : public Module public: ModuleSetHost() : cmd(this, hostmap) + { + } + + void init() { OnRehash(NULL); - ServerInstance->AddCommand(&cmd); + ServerInstance->Modules->AddService(cmd); Implementation eventlist[] = { I_OnRehash }; - ServerInstance->Modules->Attach(eventlist, this, 1); + ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); } - void OnRehash(User* user) { - ConfigReader Conf; - std::string hmap = Conf.ReadValue("hostname", "charmap", 0); - - if (hmap.empty()) - hmap = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789"; + std::string hmap = ServerInstance->Config->ConfValue("hostname")->getString("charmap", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-_/0123456789"); memset(hostmap, 0, sizeof(hostmap)); for (std::string::iterator n = hmap.begin(); n != hmap.end(); n++)