diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-03-25 06:01:34 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-03-25 06:01:34 +0000 |
commit | e2359d9a4ed9d27139346aa045c784db04d15776 (patch) | |
tree | b9b5a3a998e0e6ab2a4559b069fa29ab58612bb8 | |
parent | a0ef1070aa77fec38d6bf5e162f5667736c56b1f (diff) |
Fixes for GCC3.4 and namespaces (must rerun configure!)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@902 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/commands.cpp | 51 | ||||
-rw-r--r-- | src/inspircd.cpp | 51 | ||||
-rw-r--r-- | src/modules.cpp | 52 | ||||
-rw-r--r-- | src/xline.cpp | 9 |
4 files changed, 95 insertions, 68 deletions
diff --git a/src/commands.cpp b/src/commands.cpp index b149da7e8..0173f9113 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -116,28 +116,35 @@ const long duration_y = duration_w * 52; 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 diff --git a/src/inspircd.cpp b/src/inspircd.cpp index a9ef0e341..ecfbd6b0f 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -100,28 +100,35 @@ bool nofork = false; 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 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 { diff --git a/src/xline.cpp b/src/xline.cpp index 064903ba1..5559390e7 100644 --- a/src/xline.cpp +++ b/src/xline.cpp @@ -105,7 +105,11 @@ 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 { @@ -114,8 +118,11 @@ namespace nspace return q; } }; - +#ifdef GCC34 + template<> struct hash<string> +#else template<> struct nspace::hash<string> +#endif { size_t operator()(const string &s) const { |