diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-08-23 17:17:18 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-08-23 17:17:18 +0000 |
commit | 3f3d3d302899aacf8b49fcc871265c965d1fb0fc (patch) | |
tree | f39d8cd417e68e984a863c994b2116254d2179c6 | |
parent | 8214184319ccd044376cb2a9a30518c9bfeebab3 (diff) |
Fix for irc::sepstream for when there are multiple seperators in a row, do not drop the rest of the line, strip the seperators
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7798 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/hashcomp.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/hashcomp.cpp b/src/hashcomp.cpp index caf93ec1b..b5740d95b 100644 --- a/src/hashcomp.cpp +++ b/src/hashcomp.cpp @@ -251,6 +251,11 @@ const std::string irc::sepstream::GetToken() while (n != tokens.end()) { + /** Skip multi seps, converting "<sep><sep>" into "<sep>" + */ + while ((n+1 != tokens.end()) && (*n == sep) && (*(n+1) == sep)) + n++; + if ((*n == sep) || (n+1 == tokens.end())) { last_starting_position = n+1; |