X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fhelperfuncs.cpp;h=1cad143c510c207479f56a3ab631f9cb8d73c39f;hb=9422f4157ccff0482cd70105ada3bd9325455eaa;hp=223099c4539ac4c2ac2c08ae0796c0394af59094;hpb=c3f6fdd8a73ec7c8fd73f8a3cbcaa0b9aae234ad;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index 223099c45..1cad143c5 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -13,11 +13,7 @@ #include "inspircd.h" #include -#include "configreader.h" -#include "users.h" -#include "modules.h" #include "wildcard.h" -#include "mode.h" #include "xline.h" #include "exitcodes.h" @@ -118,7 +114,7 @@ void InspIRCd::WriteOpers(const char* text, ...) void InspIRCd::WriteOpers(const std::string &text) { - for (std::vector::iterator i = this->all_opers.begin(); i != this->all_opers.end(); i++) + for (std::list::iterator i = this->all_opers.begin(); i != this->all_opers.end(); i++) { userrec* a = *i; if (IS_LOCAL(a) && a->IsModeSet('s')) @@ -261,24 +257,39 @@ userrec* InspIRCd::FindNick(const char* nick) return iter->second; } +userrec* InspIRCd::FindNickOnly(const std::string &nick) +{ + user_hash::iterator iter = clientlist->find(nick); + + if (iter == clientlist->end()) + return NULL; + + return iter->second; +} + +userrec* InspIRCd::FindNickOnly(const char* nick) +{ + user_hash::iterator iter = clientlist->find(nick); + + if (iter == clientlist->end()) + return NULL; + + return iter->second; +} + userrec *InspIRCd::FindUUID(const std::string &uid) { - return InspIRCd::FindUUID(uid.c_str()); + return FindUUID(uid.c_str()); } userrec *InspIRCd::FindUUID(const char *uid) { - for (user_hash::const_iterator a = this->clientlist->begin(); a != this->clientlist->end(); a++) - { - userrec *u = a->second; + user_hash::iterator finduuid = uuidlist->find(uid); - if (strcmp(u->uuid, uid) == 0) - { - return u; - } - } + if (finduuid == uuidlist->end()) + return NULL; - return NULL; + return finduuid->second; } /* find a channel record by channel name and return a pointer to it */ @@ -516,29 +527,6 @@ void InspIRCd::CheckDie() } } -/* We must load the modules AFTER initializing the socket engine, now */ -void InspIRCd::LoadAllModules() -{ - char configToken[MAXBUF]; - Config->module_names.clear(); - this->ModCount = -1; - - for (int count = 0; count < Config->ConfValueEnum(Config->config_data, "module"); count++) - { - Config->ConfValue(Config->config_data, "module", "name", count, configToken, MAXBUF); - printf_c("[\033[1;32m*\033[0m] Loading module:\t\033[1;32m%s\033[0m\n",configToken); - - if (!this->LoadModule(configToken)) - { - this->Log(DEFAULT,"There was an error loading the module '%s': %s", configToken, this->ModuleError()); - printf_c("\n[\033[1;31m*\033[0m] There was an error loading the module '%s': %s\n\n", configToken, this->ModuleError()); - Exit(EXIT_STATUS_MODULE); - } - } - printf_c("\nA total of \033[1;32m%d\033[0m module%s been loaded.\n", this->ModCount+1, this->ModCount+1 == 1 ? " has" : "s have"); - this->Log(DEFAULT,"Total loaded modules: %d", this->ModCount+1); -} - void InspIRCd::SendWhoisLine(userrec* user, userrec* dest, int numeric, const std::string &text) { std::string copy_text = text; @@ -560,4 +548,3 @@ void InspIRCd::SendWhoisLine(userrec* user, userrec* dest, int numeric, const ch this->SendWhoisLine(user, dest, numeric, std::string(textbuffer)); } -