diff options
-rw-r--r-- | src/irc/irc-send.c | 35 | ||||
-rw-r--r-- | weechat/src/irc/irc-send.c | 35 |
2 files changed, 32 insertions, 38 deletions
diff --git a/src/irc/irc-send.c b/src/irc/irc-send.c index 801b0fa8a..47447f22a 100644 --- a/src/irc/irc-send.c +++ b/src/irc/irc-send.c @@ -997,39 +997,36 @@ int irc_cmd_send_quit (t_irc_server *server, char *arguments) { t_irc_server *ptr_server; - char *pos, buffer[4096]; + char *ptr_arg, *pos, buffer[4096]; /* make gcc happy */ (void) server; + ptr_arg = (arguments) ? arguments : + (cfg_irc_default_msg_quit && cfg_irc_default_msg_quit[0]) ? + cfg_irc_default_msg_quit : NULL; for (ptr_server = irc_servers; ptr_server; ptr_server = ptr_server->next_server) { if (ptr_server->is_connected) { - if (arguments) - server_sendf (ptr_server, "QUIT :%s\r\n", arguments); - else + if (ptr_arg) { - if (cfg_irc_default_msg_quit && cfg_irc_default_msg_quit[0]) + pos = strstr (ptr_arg, "%v"); + if (pos) { - pos = strstr (cfg_irc_default_msg_quit, "%v"); - if (pos) - { - pos[0] = '\0'; - snprintf (buffer, sizeof (buffer), "%s%s%s", - cfg_irc_default_msg_quit, PACKAGE_VERSION, - pos + 2); - pos[0] = '%'; - } - else - snprintf (buffer, sizeof (buffer), "%s", - cfg_irc_default_msg_quit); - server_sendf (ptr_server, "QUIT :%s\r\n", buffer); + pos[0] = '\0'; + snprintf (buffer, sizeof (buffer), "%s%s%s", + ptr_arg, PACKAGE_VERSION, pos + 2); + pos[0] = '%'; } else - server_sendf (ptr_server, "QUIT\r\n"); + snprintf (buffer, sizeof (buffer), "%s", + ptr_arg); + server_sendf (ptr_server, "QUIT :%s\r\n", buffer); } + else + server_sendf (ptr_server, "QUIT\r\n"); } } quit_weechat = 1; diff --git a/weechat/src/irc/irc-send.c b/weechat/src/irc/irc-send.c index 801b0fa8a..47447f22a 100644 --- a/weechat/src/irc/irc-send.c +++ b/weechat/src/irc/irc-send.c @@ -997,39 +997,36 @@ int irc_cmd_send_quit (t_irc_server *server, char *arguments) { t_irc_server *ptr_server; - char *pos, buffer[4096]; + char *ptr_arg, *pos, buffer[4096]; /* make gcc happy */ (void) server; + ptr_arg = (arguments) ? arguments : + (cfg_irc_default_msg_quit && cfg_irc_default_msg_quit[0]) ? + cfg_irc_default_msg_quit : NULL; for (ptr_server = irc_servers; ptr_server; ptr_server = ptr_server->next_server) { if (ptr_server->is_connected) { - if (arguments) - server_sendf (ptr_server, "QUIT :%s\r\n", arguments); - else + if (ptr_arg) { - if (cfg_irc_default_msg_quit && cfg_irc_default_msg_quit[0]) + pos = strstr (ptr_arg, "%v"); + if (pos) { - pos = strstr (cfg_irc_default_msg_quit, "%v"); - if (pos) - { - pos[0] = '\0'; - snprintf (buffer, sizeof (buffer), "%s%s%s", - cfg_irc_default_msg_quit, PACKAGE_VERSION, - pos + 2); - pos[0] = '%'; - } - else - snprintf (buffer, sizeof (buffer), "%s", - cfg_irc_default_msg_quit); - server_sendf (ptr_server, "QUIT :%s\r\n", buffer); + pos[0] = '\0'; + snprintf (buffer, sizeof (buffer), "%s%s%s", + ptr_arg, PACKAGE_VERSION, pos + 2); + pos[0] = '%'; } else - server_sendf (ptr_server, "QUIT\r\n"); + snprintf (buffer, sizeof (buffer), "%s", + ptr_arg); + server_sendf (ptr_server, "QUIT :%s\r\n", buffer); } + else + server_sendf (ptr_server, "QUIT\r\n"); } } quit_weechat = 1; |