From: brain Date: Sun, 6 Aug 2006 23:38:58 +0000 (+0000) Subject: Remove trailing spaces from input in irc::ircsepstream X-Git-Tag: v2.0.23~7540 X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=db1ab20263a735cd7eec2182ea1b4161d80fed40;p=user%2Fhenk%2Fcode%2Finspircd.git Remove trailing spaces from input in irc::ircsepstream git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4759 e03df62e-2008-0410-955e-edbf42e46eb7 --- diff --git a/src/command_parse.cpp b/src/command_parse.cpp index 922427c28..735d17b8a 100644 --- a/src/command_parse.cpp +++ b/src/command_parse.cpp @@ -206,7 +206,10 @@ void CommandParser::ProcessCommand(userrec *user, std::string &cmd) std::string command = tokens.GetToken(); while (((para[items] = tokens.GetToken()) != "") && (items < 127)) + { + log(DEBUG,"Param: '%s'",para[items].c_str()); command_p[items] = para[items++].c_str(); + } std::transform(command.begin(), command.end(), command.begin(), ::toupper); diff --git a/src/hashcomp.cpp b/src/hashcomp.cpp index 9b3b5b5b1..bfbabfde9 100644 --- a/src/hashcomp.cpp +++ b/src/hashcomp.cpp @@ -187,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(); }