diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-18 15:59:23 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-18 15:59:23 +0000 |
commit | d546725cb683f010b6090df78a54f6b943efd034 (patch) | |
tree | 53dc7e579f105c1d3d6a3bdef509b9a9ee29cffc /src | |
parent | 71b73c76bc0fb46a982a5d1611aa24e9b678b03c (diff) |
Move lowermap[] into a pre-initialised const array in hashcomp.h,
get rid of InspIRCd::MakeLowertab()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4951 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/hashcomp.cpp | 21 | ||||
-rw-r--r-- | src/inspircd.cpp | 25 | ||||
-rw-r--r-- | src/wildcard.cpp | 3 |
3 files changed, 3 insertions, 46 deletions
diff --git a/src/hashcomp.cpp b/src/hashcomp.cpp index d4f9e53d6..f5cc5efe0 100644 --- a/src/hashcomp.cpp +++ b/src/hashcomp.cpp @@ -25,8 +25,6 @@ using namespace std; #define nspace __gnu_cxx -char lowermap[255]; - /****************************************************** * * The hash functions of InspIRCd are the centrepoint @@ -127,9 +125,7 @@ bool irc::InAddr_HashComp::operator()(const insp_inaddr &s1, const insp_inaddr & * std::string which is not only case-insensitive but * can also do scandanavian comparisons, e.g. { = [, etc. * - * This class depends on the global 'lowermap' which is - * initialized at startup by inspircd.cpp, and contains - * the 'scandanavian' casemappings for fast irc compare. + * This class depends on the const array 'lowermap'. * ******************************************************/ @@ -282,18 +278,3 @@ const std::string irc::commasepstream::GetToken() irc::commasepstream::~commasepstream() { } - -void InspIRCd::MakeLowerMap() -{ - // initialize the lowercase mapping table - for (unsigned char cn = 0; cn < 255; cn++) - lowermap[cn] = cn; - // lowercase the uppercase chars - for (unsigned char cn = 65; cn < 91; cn++) - lowermap[cn] = tolower(cn); - // now replace the specific chars for scandanavian comparison - lowermap[(unsigned char)'['] = '{'; - lowermap[(unsigned char)']'] = '}'; - lowermap[(unsigned char)'\\'] = '|'; -} - diff --git a/src/inspircd.cpp b/src/inspircd.cpp index e58e8039b..3fddb2d8b 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -54,8 +54,6 @@ using irc::sockets::insp_ntoa; using irc::sockets::insp_inaddr; using irc::sockets::insp_sockaddr; -char lowermap[255]; - InspIRCd* SI = NULL; void InspIRCd::AddServerName(const std::string &servername) @@ -240,9 +238,7 @@ InspIRCd::InspIRCd(int argc, char** argv) strlcpy(Config->MyExecutable,argv[0],MAXBUF); - this->MakeLowerMap(); - - OpenLog(argv, argc); + this->OpenLog(argv, argc); this->stats = new serverstats(); this->Parser = new CommandParser(this); this->Timers = new TimerManager(); @@ -281,10 +277,7 @@ InspIRCd::InspIRCd(int argc, char** argv) this->Res = new DNS(this); - this->Log(DEBUG,"RES: %08x",this->Res); - this->LoadAllModules(); - /* Just in case no modules were loaded - fix for bug #101 */ this->BuildISupport(); @@ -625,38 +618,22 @@ bool InspIRCd::LoadModule(const char* filename) for (unsigned int j = 0; j < Config->module_names.size(); j++) { if (modules[j]->Prioritize() == PRIORITY_LAST) - { put_to_back.push_back(Config->module_names[j]); - } else if (modules[j]->Prioritize() == PRIORITY_FIRST) - { put_to_front.push_back(Config->module_names[j]); - } else if ((modules[j]->Prioritize() & 0xFF) == PRIORITY_BEFORE) - { put_before[Config->module_names[j]] = Config->module_names[modules[j]->Prioritize() >> 8]; - } else if ((modules[j]->Prioritize() & 0xFF) == PRIORITY_AFTER) - { put_after[Config->module_names[j]] = Config->module_names[modules[j]->Prioritize() >> 8]; - } } for (unsigned int j = 0; j < put_to_back.size(); j++) - { MoveToLast(put_to_back[j]); - } for (unsigned int j = 0; j < put_to_front.size(); j++) - { MoveToFirst(put_to_front[j]); - } for (std::map<std::string,std::string>::iterator j = put_before.begin(); j != put_before.end(); j++) - { MoveBefore(j->first,j->second); - } for (std::map<std::string,std::string>::iterator j = put_after.begin(); j != put_after.end(); j++) - { MoveAfter(j->first,j->second); - } BuildISupport(); return true; } diff --git a/src/wildcard.cpp b/src/wildcard.cpp index 502dc89c3..b0602c82e 100644 --- a/src/wildcard.cpp +++ b/src/wildcard.cpp @@ -19,7 +19,7 @@ using namespace std; #include <string> #include "inspircd_config.h" #include "inspircd.h" - +#include "hashcomp.h" #include "inspstring.h" using irc::sockets::MatchCIDR; @@ -39,7 +39,6 @@ bool match(const char *str, const char *mask) unsigned char *cp, *mp; unsigned char* string = (unsigned char*)str; unsigned char* wild = (unsigned char*)mask; - extern char lowermap[255]; while ((*string) && (*wild != '*')) { |