diff options
author | Adam <Adam@anope.org> | 2016-09-23 15:46:03 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2016-09-23 15:46:03 -0400 |
commit | 2916943316c0d3c53d347fb43abe98a374c75e36 (patch) | |
tree | 45611b5583dca607e9a513b6b2f7d88975c56231 /src/process.cpp | |
parent | a6b14a9fb6afc5e16874ed7e4c0a135a4f5bfa53 (diff) |
Remove rfc1459 message framing everywhere
Diffstat (limited to 'src/process.cpp')
-rw-r--r-- | src/process.cpp | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/process.cpp b/src/process.cpp index c110394fc..356a3b695 100644 --- a/src/process.cpp +++ b/src/process.cpp @@ -105,11 +105,26 @@ void IRCDProto::Parse(const Anope::string &buffer, Anope::string &source, Anope: } } -Anope::string IRCDProto::Format(const Anope::string &source, const Anope::string &message) +Anope::string IRCDProto::Format(IRCMessage &message) { + std::stringstream buffer; + + const Anope::string &source = message.GetSource().GetUID(); if (!source.empty()) - return ":" + source + " " + message; - else - return message; + buffer << ":" << source << " "; + + buffer << message.GetCommand(); + + for (unsigned int i = 0; i < message.GetParameters().size(); ++i) + { + buffer << " "; + + if (i + 1 == message.GetParameters().size()) + buffer << ":"; + + buffer << message.GetParameters()[i]; + } + + return buffer.str(); } |