From bce7a0e961dfbcbed06f2099e07d47222c2962e9 Mon Sep 17 00:00:00 2001 From: Sebastien Helleu Date: Sat, 5 Mar 2005 17:23:45 +0000 Subject: [PATCH] Server errors are now displayed on appropriate buffers (default is server buffer) --- src/irc/irc-recv.c | 17 ++++++++++++++--- weechat/src/irc/irc-recv.c | 17 ++++++++++++++--- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/irc/irc-recv.c b/src/irc/irc-recv.c index ab69abe8d..6c8615db7 100644 --- a/src/irc/irc-recv.c +++ b/src/irc/irc-recv.c @@ -92,6 +92,8 @@ irc_cmd_recv_error (t_irc_server *server, char *host, char *arguments) { char *pos, *pos2; int first; + t_gui_buffer *ptr_buffer; + t_irc_channel *ptr_channel; /* make gcc happy */ (void) server; @@ -114,9 +116,9 @@ irc_cmd_recv_error (t_irc_server *server, char *host, char *arguments) else pos = arguments; - irc_display_prefix (server->buffer, PREFIX_ERROR); first = 1; + ptr_buffer = server->buffer; while (pos && pos[0]) { pos2 = strchr (pos, ' '); @@ -124,7 +126,9 @@ irc_cmd_recv_error (t_irc_server *server, char *host, char *arguments) { if (pos[0] == ':') pos++; - gui_printf_color (server->buffer, + if (first) + irc_display_prefix (ptr_buffer, PREFIX_ERROR); + gui_printf_color (ptr_buffer, COLOR_WIN_CHAT, "%s%s\n", (first) ? "" : ": ", pos); pos = NULL; @@ -132,7 +136,14 @@ irc_cmd_recv_error (t_irc_server *server, char *host, char *arguments) else { pos2[0] = '\0'; - gui_printf_color (server->buffer, + if (first) + { + ptr_channel = channel_search (server, pos); + if (ptr_channel) + ptr_buffer = ptr_channel->buffer; + irc_display_prefix (ptr_buffer, PREFIX_ERROR); + } + gui_printf_color (ptr_buffer, COLOR_WIN_CHAT_CHANNEL, "%s%s", (first) ? "" : " ", pos); diff --git a/weechat/src/irc/irc-recv.c b/weechat/src/irc/irc-recv.c index ab69abe8d..6c8615db7 100644 --- a/weechat/src/irc/irc-recv.c +++ b/weechat/src/irc/irc-recv.c @@ -92,6 +92,8 @@ irc_cmd_recv_error (t_irc_server *server, char *host, char *arguments) { char *pos, *pos2; int first; + t_gui_buffer *ptr_buffer; + t_irc_channel *ptr_channel; /* make gcc happy */ (void) server; @@ -114,9 +116,9 @@ irc_cmd_recv_error (t_irc_server *server, char *host, char *arguments) else pos = arguments; - irc_display_prefix (server->buffer, PREFIX_ERROR); first = 1; + ptr_buffer = server->buffer; while (pos && pos[0]) { pos2 = strchr (pos, ' '); @@ -124,7 +126,9 @@ irc_cmd_recv_error (t_irc_server *server, char *host, char *arguments) { if (pos[0] == ':') pos++; - gui_printf_color (server->buffer, + if (first) + irc_display_prefix (ptr_buffer, PREFIX_ERROR); + gui_printf_color (ptr_buffer, COLOR_WIN_CHAT, "%s%s\n", (first) ? "" : ": ", pos); pos = NULL; @@ -132,7 +136,14 @@ irc_cmd_recv_error (t_irc_server *server, char *host, char *arguments) else { pos2[0] = '\0'; - gui_printf_color (server->buffer, + if (first) + { + ptr_channel = channel_search (server, pos); + if (ptr_channel) + ptr_buffer = ptr_channel->buffer; + irc_display_prefix (ptr_buffer, PREFIX_ERROR); + } + gui_printf_color (ptr_buffer, COLOR_WIN_CHAT_CHANNEL, "%s%s", (first) ? "" : " ", pos);