summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-08-06 23:38:58 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2006-08-06 23:38:58 +0000
commitdb1ab20263a735cd7eec2182ea1b4161d80fed40 (patch)
tree0335fce30024fb4c4f5b55061975df05bdbc38a0 /src
parent7f86f53bbf30ec01985895566c51803fc63a995e (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.cpp3
-rw-r--r--src/hashcomp.cpp5
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();
}