X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcommands.cpp;h=23d285eee8281f2a5ccf9d2e7dd3d5043f7315e1;hb=d5fed3976bba0f1082522da9b79b6b1cc93d4c56;hp=d81f493a6b31aa2b4bb52cfd3043eedb51ce268c;hpb=84b6d82413c71c845c97279ea9150089cd9f8b5a;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/commands.cpp b/src/commands.cpp index d81f493a6..23d285eee 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -19,7 +19,6 @@ #include "inspircd_util.h" #include "inspircd_config.h" #include -#include #include #include #include @@ -39,11 +38,7 @@ #include #include #include -#include #include -#include -#include -#include #include #include #include @@ -64,12 +59,8 @@ #include "xline.h" #include "inspstring.h" #include "dnsqueue.h" - -#ifdef GCC3 -#define nspace __gnu_cxx -#else -#define nspace std -#endif +#include "helperfuncs.h" +#include "hashcomp.h" using namespace std; @@ -133,75 +124,10 @@ const long duration_d = duration_h * 24; const long duration_w = duration_d * 7; const long duration_y = duration_w * 52; -namespace nspace -{ -#ifdef GCC34 - template<> struct hash -#else - template<> struct nspace::hash -#endif - { - size_t operator()(const struct in_addr &a) const - { - size_t q; - memcpy(&q,&a,sizeof(size_t)); - return q; - } - }; -#ifdef GCC34 - template<> struct hash -#else - template<> struct nspace::hash -#endif - { - size_t operator()(const string &s) const - { - char a[MAXBUF]; - static struct hash strhash; - strlcpy(a,s.c_str(),MAXBUF); - strlower(a); - return strhash(a); - } - }; -} - - -struct StrHashComp -{ - - bool operator()(const string& s1, const string& s2) const - { - char a[MAXBUF],b[MAXBUF]; - strlcpy(a,s1.c_str(),MAXBUF); - strlcpy(b,s2.c_str(),MAXBUF); - strlower(a); - strlower(b); - return (strcasecmp(a,b) == 0); - } - -}; - -struct InAddr_HashComp -{ - - bool operator()(const in_addr &s1, const in_addr &s2) const - { - size_t q; - size_t p; - - memcpy(&q,&s1,sizeof(size_t)); - memcpy(&p,&s2,sizeof(size_t)); - - return (q == p); - } - -}; - - -typedef nspace::hash_map, StrHashComp> user_hash; -typedef nspace::hash_map, StrHashComp> chan_hash; -typedef nspace::hash_map, InAddr_HashComp> address_cache; -typedef nspace::hash_map, StrHashComp> whowas_hash; +typedef nspace::hash_map, irc::StrHashComp> user_hash; +typedef nspace::hash_map, irc::StrHashComp> chan_hash; +typedef nspace::hash_map, irc::InAddr_HashComp> address_cache; +typedef nspace::hash_map, irc::StrHashComp> whowas_hash; typedef std::deque command_table;