From bbe9e09d4660c6a3805a0e8cb0fb8e2d9b826390 Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Wed, 11 Mar 2020 18:57:25 -0400 Subject: [PATCH] clean up trailing hack --- irc/client.go | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/irc/client.go b/irc/client.go index 9f5e1092..c6b476ec 100644 --- a/irc/client.go +++ b/irc/client.go @@ -1418,15 +1418,9 @@ var ( // SendRawMessage sends a raw message to the client. func (session *Session) SendRawMessage(message ircmsg.IrcMessage, blocking bool) error { // use dumb hack to force the last param to be a trailing param if required - var usedTrailingHack bool config := session.client.server.Config() - if config.Server.Compatibility.forceTrailing && commandsThatMustUseTrailing[message.Command] && len(message.Params) > 0 { - lastParam := message.Params[len(message.Params)-1] - // to force trailing, we ensure the final param contains a space - if strings.IndexByte(lastParam, ' ') == -1 { - message.Params[len(message.Params)-1] = lastParam + " " - usedTrailingHack = true - } + if config.Server.Compatibility.forceTrailing && commandsThatMustUseTrailing[message.Command] { + message.ForceTrailing() } // assemble message @@ -1446,12 +1440,6 @@ func (session *Session) SendRawMessage(message ircmsg.IrcMessage, blocking bool) return err } - // if we used the trailing hack, we need to strip the final space we appended earlier on - if usedTrailingHack { - copy(line[len(line)-3:], "\r\n") - line = line[:len(line)-1] - } - if session.client.server.logger.IsLoggingRawIO() { logline := string(line[:len(line)-2]) // strip "\r\n" session.client.server.logger.Debug("useroutput", session.client.Nick(), " ->", logline)