diff options
Diffstat (limited to 'src/modules.cpp')
-rw-r--r-- | src/modules.cpp | 52 |
1 files changed, 29 insertions, 23 deletions
diff --git a/src/modules.cpp b/src/modules.cpp index d5288d371..7f3603fb7 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -107,29 +107,35 @@ extern FILE *log_file; namespace nspace { - template<> struct nspace::hash<in_addr> - { - size_t operator()(const struct in_addr &a) const - { - size_t q; - memcpy(&q,&a,sizeof(size_t)); - return q; - } - }; - - template<> struct nspace::hash<string> - { - 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); - } - }; -} - +#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 { |