diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-10 18:54:29 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-10 18:54:29 +0000 |
commit | 318552487d077bb20c8f320c564a7b1e652cf885 (patch) | |
tree | 6150c032f391d79eb410256b0b889d5e671139ad /src/hashcomp.cpp | |
parent | e51a4b5c29deac855496d6658a3c4612a61ffbb7 (diff) |
Move strlower into nspace namespace where hash<std::string> lives
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4850 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/hashcomp.cpp')
-rw-r--r-- | src/hashcomp.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/hashcomp.cpp b/src/hashcomp.cpp index 278ea0044..6606884c9 100644 --- a/src/hashcomp.cpp +++ b/src/hashcomp.cpp @@ -60,6 +60,24 @@ extern const char lowermap[255]; using namespace std; using namespace irc::sockets; +/* convert a string to lowercase. Note following special circumstances + * taken from RFC 1459. Many "official" server branches still hold to this + * rule so i will too; + * + * Because of IRC's scandanavian origin, the characters {}| are + * considered to be the lower case equivalents of the characters []\, + * respectively. This is a critical issue when determining the + * equivalence of two nicknames. + */ +void nspace::strlower(char *n) +{ + if (n) + { + for (char* t = n; *t; t++) + *t = lowermap[(unsigned char)*t]; + } +} + size_t nspace::hash<insp_inaddr>::operator()(const insp_inaddr &a) const { size_t q; |