From 318552487d077bb20c8f320c564a7b1e652cf885 Mon Sep 17 00:00:00 2001 From: brain Date: Thu, 10 Aug 2006 18:54:29 +0000 Subject: Move strlower into nspace namespace where hash lives git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4850 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/hashcomp.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/hashcomp.cpp') 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::operator()(const insp_inaddr &a) const { size_t q; -- cgit v1.3.1-10-gc9f91