diff --git a/ChangeLog.adoc b/ChangeLog.adoc index 5a64fefda..8a428fd0a 100644 --- a/ChangeLog.adoc +++ b/ChangeLog.adoc @@ -20,6 +20,7 @@ Bug fixes:: * core: fix memory leak when config version is invalid or not supported * core: fix crash when "config_version" is present in a configuration file without a value * core: display an error on startup if environment variable "HOME" is not set + * irc: remove trailing "\r\n" in signals "irc_out" and "irc_outtags" when messages are queued * irc: fix target buffer of IRC message 337 (whois reply: "is hiding their idle time") * relay: close properly connection with the IRC client in case of server disconnection (issue #2038) * ruby: fix use of NULL variable when displaying exception diff --git a/src/plugins/irc/irc-server.c b/src/plugins/irc/irc-server.c index 74bd49555..8b7f3b71b 100644 --- a/src/plugins/irc/irc-server.c +++ b/src/plugins/irc/irc-server.c @@ -2850,11 +2850,10 @@ irc_server_outqueue_send (struct t_irc_server *server) '\r'); if (pos) pos[0] = '\0'; + irc_raw_print (server, IRC_RAW_FLAG_SEND | ((server->outqueue[priority]->modified) ? IRC_RAW_FLAG_MODIFIED : 0), server->outqueue[priority]->message_after_mod); - if (pos) - pos[0] = '\r'; /* send signal with command that will be sent to server */ (void) irc_server_send_signal ( @@ -2872,6 +2871,9 @@ irc_server_outqueue_send (struct t_irc_server *server) if (tags_to_send) free (tags_to_send); + if (pos) + pos[0] = '\r'; + /* send command */ irc_server_send ( server, server->outqueue[priority]->message_after_mod,