diff options
Diffstat (limited to 'src/xline.cpp')
-rw-r--r-- | src/xline.cpp | 74 |
1 files changed, 2 insertions, 72 deletions
diff --git a/src/xline.cpp b/src/xline.cpp index a7a5d0f30..768950e15 100644 --- a/src/xline.cpp +++ b/src/xline.cpp @@ -51,13 +51,8 @@ #include "commands.h" #include "xline.h" #include "inspstring.h" - -#ifdef GCC3 -#define nspace __gnu_cxx -#else -#define nspace std -#endif - +#include "helperfuncs.h" +#include "hashcomp.h" using namespace std; @@ -104,71 +99,6 @@ extern serverrec* me[32]; extern FILE *log_file; -namespace nspace -{ -#ifdef GCC34 - template<> struct hash<in_addr> -#else - template<> struct nspace::hash<in_addr> -#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<string> -#else - template<> struct nspace::hash<string> -#endif - { - size_t operator()(const string &s) const - { - char a[MAXBUF]; - static struct hash<const char *> 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<std::string, userrec*, nspace::hash<string>, StrHashComp> user_hash; typedef nspace::hash_map<std::string, chanrec*, nspace::hash<string>, StrHashComp> chan_hash; typedef nspace::hash_map<in_addr,string*, nspace::hash<in_addr>, InAddr_HashComp> address_cache; |