diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-06 23:38:58 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-08-06 23:38:58 +0000 |
commit | db1ab20263a735cd7eec2182ea1b4161d80fed40 (patch) | |
tree | 0335fce30024fb4c4f5b55061975df05bdbc38a0 /src | |
parent | 7f86f53bbf30ec01985895566c51803fc63a995e (diff) |
Remove trailing spaces from input in irc::ircsepstream
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4759 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/command_parse.cpp | 3 | ||||
-rw-r--r-- | src/hashcomp.cpp | 5 |
2 files changed, 8 insertions, 0 deletions
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(); } |