summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-08-23 17:17:18 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-08-23 17:17:18 +0000
commit3f3d3d302899aacf8b49fcc871265c965d1fb0fc (patch)
treef39d8cd417e68e984a863c994b2116254d2179c6
parent8214184319ccd044376cb2a9a30518c9bfeebab3 (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.cpp5
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;