]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/hashcomp.cpp
Now with added ANGRY MONKEYS.
[user/henk/code/inspircd.git] / src / hashcomp.cpp
index 213d51ffb2d417c66086ad46a171e4c34f47c36c..bfbabfde90b5ae8dbfb6882eafd6ffc667631114 100644 (file)
@@ -87,7 +87,14 @@ bool irc::StrHashComp::operator()(const std::string& s1, const std::string& s2)
 
 bool irc::InAddr_HashComp::operator()(const insp_inaddr &s1, const insp_inaddr &s2) const
 {
+#ifdef IPV6
+       for (int n = 0; n < 16; n++)
+               if (s2.s6_addr[n] != s1.s6_addr[n])
+                       return false;
+       return true;
+#else
        return (s1.s_addr == s1.s_addr);
+#endif
 }
 
 /******************************************************
@@ -180,6 +187,11 @@ std::istream& operator>>(std::istream &is, irc::string &str)
 
 irc::tokenstream::tokenstream(const std::string &source) : tokens(source), last_pushed(false)
 {
+       /* Remove trailing spaces, these muck up token parsing */
+       while (tokens.find_last_of(' ') == tokens.length() - 1)
+               tokens.erase(tokens.end() - 1);
+
+       /* Record starting position and current position */
        last_starting_position = tokens.begin();
        n = tokens.begin();
 }