diff options
author | Sebastien Helleu <flashcode@flashtux.org> | 2005-12-11 00:52:32 +0000 |
---|---|---|
committer | Sebastien Helleu <flashcode@flashtux.org> | 2005-12-11 00:52:32 +0000 |
commit | 77e00d03812564d58fdc9ed60bd4e07c09326288 (patch) | |
tree | aad5bf938b2a09afbbc478ca5b37106208127315 /src/irc | |
parent | b8662d79c2ef0276049e727ce3ea175e143459a4 (diff) | |
download | weechat-77e00d03812564d58fdc9ed60bd4e07c09326288.zip |
Added charset by server and channel, new command: /charset
Diffstat (limited to 'src/irc')
-rw-r--r-- | src/irc/irc-channel.c | 220 | ||||
-rw-r--r-- | src/irc/irc-dcc.c | 21 | ||||
-rw-r--r-- | src/irc/irc-display.c | 39 | ||||
-rw-r--r-- | src/irc/irc-recv.c | 8 | ||||
-rw-r--r-- | src/irc/irc-server.c | 121 | ||||
-rw-r--r-- | src/irc/irc.h | 26 |
6 files changed, 316 insertions, 119 deletions
diff --git a/src/irc/irc-channel.c b/src/irc/irc-channel.c index 761e64fc7..6d2baa925 100644 --- a/src/irc/irc-channel.c +++ b/src/irc/irc-channel.c @@ -30,6 +30,8 @@ #include "../common/weechat.h" #include "irc.h" +#include "../common/utf8.h" +#include "../common/weeconfig.h" #include "../gui/gui.h" @@ -172,6 +174,143 @@ string_is_channel (char *string) } /* + * channel_get_charset_decode_iso: get decode iso value for channel + * if not found for channel, look for server + * if not found for server, look for global + */ + +char * +channel_get_charset_decode_iso (t_irc_server *server, t_irc_channel *channel) +{ + char *pos, *result; + int length; + + if (!server) + return (cfg_look_charset_decode_iso) ? + strdup (cfg_look_charset_decode_iso) : strdup (""); + + if (!channel) + return server_get_charset_decode_iso (server); + + config_option_list_get_value (&(server->charset_decode_iso), + channel->name, &pos, &length); + if (pos && (length > 0)) + { + result = strdup (pos); + result[length] = '\0'; + return result; + } + + return server_get_charset_decode_iso (server); +} + +/* + * channel_get_charset_decode_utf: get decode utf value for channel + * if not found for channel, look for server + * if not found for server, look for global + */ + +char * +channel_get_charset_decode_utf (t_irc_server *server, t_irc_channel *channel) +{ + char *pos, *result; + int length; + + if (!server) + return (cfg_look_charset_decode_utf) ? + strdup (cfg_look_charset_decode_utf) : strdup (""); + + if (!channel) + return server_get_charset_decode_utf (server); + + config_option_list_get_value (&(server->charset_decode_utf), + channel->name, &pos, &length); + if (pos && (length > 0)) + { + result = strdup (pos); + result[length] = '\0'; + return result; + } + + return server_get_charset_decode_utf (server); +} + +/* + * channel_get_charset_encode: get encode value for channel + * if not found for channel, look for server + * if not found for server, look for global + */ + +char * +channel_get_charset_encode (t_irc_server *server, t_irc_channel *channel) +{ + char *pos, *result; + int length; + + if (!server) + return (cfg_look_charset_encode) ? + strdup (cfg_look_charset_encode) : strdup (""); + + if (!channel) + return server_get_charset_encode (server); + + config_option_list_get_value (&(server->charset_encode), + channel->name, &pos, &length); + if (pos && (length > 0)) + { + result = strdup (pos); + result[length] = '\0'; + return result; + } + + return server_get_charset_encode (server); +} + +/* + * channel_iconv_decode: convert string to local charset + */ + +char * +channel_iconv_decode (t_irc_server *server, t_irc_channel *channel, char *string) +{ + char *from_charset, *string2; + + if (!local_utf8 || !utf8_is_valid (string)) + { + if (local_utf8) + from_charset = channel_get_charset_decode_iso (server, channel); + else + from_charset = channel_get_charset_decode_utf (server, channel); + string2 = weechat_iconv (from_charset, + (cfg_look_charset_internal && cfg_look_charset_internal[0]) ? + cfg_look_charset_internal : local_charset, + string); + free (from_charset); + return string2; + } + else + return strdup (string); +} + +/* + * + */ + +char * +channel_iconv_encode (t_irc_server *server, t_irc_channel *channel, char *string) +{ + char *to_charset, *string2; + + to_charset = channel_get_charset_encode (server, channel); + string2 = weechat_iconv ((cfg_look_charset_internal && cfg_look_charset_internal[0]) ? + cfg_look_charset_internal : local_charset, + to_charset, + string); + free (to_charset); + return string2; +} + +/* * channel_remove_away: remove away for all nicks on a channel */ @@ -306,96 +445,25 @@ channel_get_notify_level (t_irc_server *server, t_irc_channel *channel) } /* - * server_remove_notify_level: remove channel notify from list - */ - -void -channel_remove_notify_level (t_irc_server *server, t_irc_channel *channel) -{ - char *name, *pos, *pos2; - - if ((!server) || (!channel)) - return; - - name = (char *) malloc (strlen (channel->name) + 2); - strcpy (name, channel->name); - strcat (name, ":"); - pos = strstr (server->notify_levels, name); - free (name); - if (pos) - { - pos2 = pos + strlen (channel->name); - if (pos2[0] == ':') - { - pos2++; - if (pos2[0]) - { - pos2++; - if (pos2[0] == ',') - pos2++; - if (!pos2[0] && (pos != server->notify_levels)) - pos--; - strcpy (pos, pos2); - server->notify_levels = (char *) realloc (server->notify_levels, - strlen (server->notify_levels) + 1); - } - } - } -} - -/* * server_set_notify_level: set channel notify level */ void channel_set_notify_level (t_irc_server *server, t_irc_channel *channel, int notify) { - char *name, *pos, *pos2, level_string[2]; + char level_string[2]; if ((!server) || (!channel)) return; if (notify == NOTIFY_LEVEL_DEFAULT) - { - channel_remove_notify_level (server, channel); - return; - } - - if (!server->notify_levels) - { - server->notify_levels = (char *) malloc (strlen (channel->name) + 3); - server->notify_levels[0] = '\0'; - } + config_option_list_remove (&(server->notify_levels), channel->name); else { - name = (char *) malloc (strlen (channel->name) + 2); - strcpy (name, channel->name); - strcat (name, ":"); - pos = strstr (server->notify_levels, name); - free (name); - if (pos) - { - pos2 = pos + strlen (channel->name) + 1; - if (pos2[0]) - { - pos2[0] = '0' + notify; - return; - } - } - /* realloc notify list to add channel */ - server->notify_levels = (char *) realloc (server->notify_levels, - strlen (server->notify_levels) + 1 + - strlen (channel->name) + 2 + 1); + level_string[0] = notify + '0'; + level_string[1] = '\0'; + config_option_list_set (&(server->notify_levels), channel->name, level_string); } - - /* channel not in notify list => add it */ - if (server->notify_levels[0]) - strcat (server->notify_levels, ","); - strcat (server->notify_levels, channel->name); - strcat (server->notify_levels, ":"); - level_string[0] = notify + '0'; - level_string[1] = '\0'; - strcat (server->notify_levels, level_string); } /* diff --git a/src/irc/irc-dcc.c b/src/irc/irc-dcc.c index cdf7d08b1..422e4c85a 100644 --- a/src/irc/irc-dcc.c +++ b/src/irc/irc-dcc.c @@ -1120,10 +1120,9 @@ dcc_chat_sendf (t_irc_dcc *ptr_dcc, char *fmt, ...) gui_printf (ptr_dcc->server->buffer, "[DEBUG] Sending to remote host (DCC CHAT) >>> %s\n", buffer); buffer[size_buf - 2] = '\r'; #endif - buf2 = weechat_convert_encoding ((cfg_look_charset_internal && cfg_look_charset_internal[0]) ? - cfg_look_charset_internal : local_charset, - cfg_look_charset_encode, - buffer); + buf2 = channel_iconv_encode (ptr_dcc->server, + ptr_dcc->channel, + buffer); if (dcc_chat_send (ptr_dcc, buf2, strlen (buf2)) <= 0) { irc_display_prefix (ptr_dcc->server, ptr_dcc->server->buffer, @@ -1144,7 +1143,7 @@ void dcc_chat_recv (t_irc_dcc *ptr_dcc) { static char buffer[4096 + 2]; - char *buf2, *pos, *ptr_buf, *next_ptr_buf; + char *buf2, *pos, *ptr_buf, *ptr_buf2, *next_ptr_buf; char *ptr_buf_color; int num_read; @@ -1196,7 +1195,11 @@ dcc_chat_recv (t_irc_dcc *ptr_dcc) if (ptr_buf) { - ptr_buf_color = (char *)gui_color_decode ((unsigned char *)ptr_buf, + ptr_buf2 = channel_iconv_decode (ptr_dcc->server, + ptr_dcc->channel, + ptr_buf); + ptr_buf_color = (char *)gui_color_decode ((ptr_buf2) ? + (unsigned char *)ptr_buf2 : (unsigned char *)ptr_buf, cfg_irc_colors_receive); gui_printf_type (ptr_dcc->channel->buffer, MSG_TYPE_NICK, "%s<", GUI_COLOR(COLOR_WIN_CHAT_DARK)); @@ -1213,7 +1216,7 @@ dcc_chat_recv (t_irc_dcc *ptr_dcc) COLOR_WIN_INFOBAR_HIGHLIGHT, _("Private %s> %s"), ptr_dcc->nick, - (ptr_buf_color) ? ptr_buf_color : ptr_buf); + (ptr_buf_color) ? ptr_buf_color : ((ptr_buf2) ? ptr_buf2 : ptr_buf)); } else gui_printf_type (ptr_dcc->channel->buffer, MSG_TYPE_NICK, @@ -1228,13 +1231,15 @@ dcc_chat_recv (t_irc_dcc *ptr_dcc) (ptr_buf_color) ? ptr_buf_color : ptr_buf); if (ptr_buf_color) free (ptr_buf_color); + if (ptr_buf2) + free (ptr_buf2); } ptr_buf = next_ptr_buf; } if (buf2) -free (buf2); + free (buf2); } else { diff --git a/src/irc/irc-display.c b/src/irc/irc-display.c index b8be20219..05332ae63 100644 --- a/src/irc/irc-display.c +++ b/src/irc/irc-display.c @@ -185,27 +185,27 @@ irc_display_server (t_irc_server *server) _("connected") : _("not connected"), GUI_COLOR(COLOR_WIN_CHAT_DARK)); - gui_printf (NULL, " server_autoconnect . . . .: %s%s\n", + gui_printf (NULL, " server_autoconnect . . . . : %s%s\n", (server->autoconnect) ? _("on") : _("off"), (server->command_line) ? _(" (temporary server, will not be saved)") : ""); - gui_printf (NULL, " server_autoreconnect . . .: %s\n", + gui_printf (NULL, " server_autoreconnect . . . : %s\n", (server->autoreconnect) ? _("on") : _("off")); - gui_printf (NULL, " server_autoreconnect_delay: %d %s\n", + gui_printf (NULL, " server_autoreconnect_delay : %d %s\n", server->autoreconnect_delay, _("seconds")); - gui_printf (NULL, " server_address . . . . . .: %s\n", + gui_printf (NULL, " server_address . . . . . . : %s\n", server->address); - gui_printf (NULL, " server_port . . . . . . .: %d\n", + gui_printf (NULL, " server_port . . . . . . . : %d\n", server->port); - gui_printf (NULL, " server_ipv6 . . . . . . .: %s\n", + gui_printf (NULL, " server_ipv6 . . . . . . . : %s\n", (server->ipv6) ? _("on") : _("off")); - gui_printf (NULL, " server_ssl . . . . . . . .: %s\n", + gui_printf (NULL, " server_ssl . . . . . . . . : %s\n", (server->ssl) ? _("on") : _("off")); - gui_printf (NULL, " server_password . . . . .: %s\n", + gui_printf (NULL, " server_password . . . . . : %s\n", (server->password && server->password[0]) ? _("(hidden)") : ""); - gui_printf (NULL, " server_nick1/2/3 . . . . .: %s %s/ %s%s %s/ %s%s\n", + gui_printf (NULL, " server_nick1/2/3 . . . . . : %s %s/ %s%s %s/ %s%s\n", server->nick1, GUI_COLOR(COLOR_WIN_CHAT_DARK), GUI_COLOR(COLOR_WIN_CHAT), @@ -213,20 +213,29 @@ irc_display_server (t_irc_server *server) GUI_COLOR(COLOR_WIN_CHAT_DARK), GUI_COLOR(COLOR_WIN_CHAT), server->nick3); - gui_printf (NULL, " server_username . . . . .: %s\n", + gui_printf (NULL, " server_username . . . . . : %s\n", server->username); - gui_printf (NULL, " server_realname . . . . .: %s\n", + gui_printf (NULL, " server_realname . . . . . : %s\n", server->realname); - gui_printf (NULL, " server_command . . . . . .: %s\n", + gui_printf (NULL, " server_command . . . . . . : %s\n", (server->command && server->command[0]) ? server->command : ""); - gui_printf (NULL, " server_command_delay . . .: %d %s\n", + gui_printf (NULL, " server_command_delay . . . : %d %s\n", server->command_delay, _("seconds")); - gui_printf (NULL, " server_autojoin . . . . .: %s\n", + gui_printf (NULL, " server_autojoin . . . . . : %s\n", (server->autojoin && server->autojoin[0]) ? server->autojoin : ""); - gui_printf (NULL, " server_notify_levels . . .: %s\n", + gui_printf (NULL, " server_notify_levels . . . : %s\n", (server->notify_levels && server->notify_levels[0]) ? server->notify_levels : ""); + gui_printf (NULL, " server_charset_decode_iso. : %s\n", + (server->charset_decode_iso && server->charset_decode_iso[0]) ? + server->charset_decode_iso : ""); + gui_printf (NULL, " server_charset_decode_utf. : %s\n", + (server->charset_decode_utf && server->charset_decode_utf[0]) ? + server->charset_decode_utf : ""); + gui_printf (NULL, " server_charset_encode. . . : %s\n", + (server->charset_encode && server->charset_encode[0]) ? + server->charset_encode : ""); } diff --git a/src/irc/irc-recv.c b/src/irc/irc-recv.c index a19196315..bb0eeb359 100644 --- a/src/irc/irc-recv.c +++ b/src/irc/irc-recv.c @@ -2225,14 +2225,16 @@ irc_cmd_recv_quit (t_irc_server *server, char *host, char *nick, char *arguments pos = strchr (host, '!'); irc_display_prefix (server, ptr_channel->buffer, PREFIX_QUIT); gui_printf (ptr_channel->buffer, - _("%s%s %s(%s%s%s)%s has quit %s(%s%s%s)\n"), + _("%s%s %s(%s%s%s)%s has quit"), GUI_COLOR(COLOR_WIN_CHAT_NICK), nick, GUI_COLOR(COLOR_WIN_CHAT_DARK), GUI_COLOR(COLOR_WIN_CHAT_HOST), (pos) ? pos + 1 : "", GUI_COLOR(COLOR_WIN_CHAT_DARK), - GUI_COLOR(COLOR_WIN_CHAT), + GUI_COLOR(COLOR_WIN_CHAT)); + gui_printf (ptr_channel->buffer, + " %s(%s%s%s)\n", GUI_COLOR(COLOR_WIN_CHAT_DARK), GUI_COLOR(COLOR_WIN_CHAT), arguments, @@ -2447,7 +2449,7 @@ irc_cmd_recv_004 (t_irc_server *server, char *host, char *nick, char *arguments) /* execute command once connected */ if (server->command && server->command[0]) { - user_command(server, NULL, server->command); + user_command(NULL, server, server->command); if (server->command_delay > 0) sleep (server->command_delay); } diff --git a/src/irc/irc-server.c b/src/irc/irc-server.c index 2a4b6107e..33cf7afd0 100644 --- a/src/irc/irc-server.c +++ b/src/irc/irc-server.c @@ -84,6 +84,9 @@ server_init (t_irc_server *server) server->autojoin = NULL; server->autorejoin = 0; server->notify_levels = NULL; + server->charset_decode_iso = NULL; + server->charset_decode_utf = NULL; + server->charset_encode = NULL; /* internal vars */ server->child_pid = 0; @@ -294,6 +297,12 @@ server_destroy (t_irc_server *server) free (server->autojoin); if (server->notify_levels) free (server->notify_levels); + if (server->charset_decode_iso) + free (server->charset_decode_iso); + if (server->charset_decode_utf) + free (server->charset_decode_utf); + if (server->charset_encode) + free (server->charset_encode); if (server->unterminated_message) free (server->unterminated_message); if (server->nick) @@ -355,7 +364,8 @@ server_new (char *name, int autoconnect, int autoreconnect, int autoreconnect_de int command_line, char *address, int port, int ipv6, int ssl, char *password, char *nick1, char *nick2, char *nick3, char *username, char *realname, char *command, int command_delay, char *autojoin, - int autorejoin, char *notify_levels) + int autorejoin, char *notify_levels, char *charset_decode_iso, + char *charset_decode_utf, char *charset_encode) { t_irc_server *new_server; @@ -365,12 +375,16 @@ server_new (char *name, int autoconnect, int autoreconnect, int autoreconnect_de #ifdef DEBUG weechat_log_printf ("Creating new server (name:%s, address:%s, port:%d, pwd:%s, " "nick1:%s, nick2:%s, nick3:%s, username:%s, realname:%s, " - "command:%s, autojoin:%s, autorejoin:%s, notify_levels:%s)\n", + "command:%s, autojoin:%s, autorejoin:%s, notify_levels:%s, " + "decode_iso:%s, decode_utf:%s, encode:%s)\n", name, address, port, (password) ? password : "", (nick1) ? nick1 : "", (nick2) ? nick2 : "", (nick3) ? nick3 : "", (username) ? username : "", (realname) ? realname : "", (command) ? command : "", (autojoin) ? autojoin : "", - (autorejoin) ? "on" : "off", (notify_levels) ? notify_levels : ""); + (autorejoin) ? "on" : "off", (notify_levels) ? notify_levels : "", + (charset_decode_iso) ? charset_decode_iso : "", + (charset_decode_utf) ? charset_decode_utf : "", + (charset_encode) ? charset_encode : ""); #endif if ((new_server = server_alloc ())) @@ -400,6 +414,12 @@ server_new (char *name, int autoconnect, int autoreconnect, int autoreconnect_de new_server->autorejoin = autorejoin; new_server->notify_levels = (notify_levels) ? strdup (notify_levels) : NULL; + new_server->charset_decode_iso = + (charset_decode_iso) ? strdup (charset_decode_iso) : NULL; + new_server->charset_decode_utf = + (charset_decode_utf) ? strdup (charset_decode_utf) : NULL; + new_server->charset_encode = + (charset_encode) ? strdup (charset_encode) : NULL; } else return NULL; @@ -407,6 +427,90 @@ server_new (char *name, int autoconnect, int autoreconnect, int autoreconnect_de } /* + * server_get_charset_decode_iso: get decode iso value for server + * if not found for server, look for global + */ + +char * +server_get_charset_decode_iso (t_irc_server *server) +{ + char *pos, *result; + int length; + + if (!server) + return (cfg_look_charset_decode_iso) ? + strdup (cfg_look_charset_decode_iso) : strdup (""); + + config_option_list_get_value (&(server->charset_decode_iso), + "server", &pos, &length); + if (pos && (length > 0)) + { + result = strdup (pos); + result[length] = '\0'; + return result; + } + + return (cfg_look_charset_decode_iso) ? + strdup (cfg_look_charset_decode_iso) : strdup (""); +} + +/* + * server_get_charset_decode_utf: get decode utf value for server + * if not found for server, look for global + */ + +char * +server_get_charset_decode_utf (t_irc_server *server) +{ + char *pos, *result; + int length; + + if (!server) + return (cfg_look_charset_decode_utf) ? + strdup (cfg_look_charset_decode_utf) : strdup (""); + + config_option_list_get_value (&(server->charset_decode_utf), + "server", &pos, &length); + if (pos && (length > 0)) + { + result = strdup (pos); + result[length] = '\0'; + return result; + } + + return (cfg_look_charset_decode_utf) ? + strdup (cfg_look_charset_decode_utf) : strdup (""); +} + +/* + * server_get_charset_encode: get encode value for server + * if not found for server, look for global + */ + +char * +server_get_charset_encode (t_irc_server *server) +{ + char *pos, *result; + int length; + + if (!server) + return (cfg_look_charset_encode) ? + strdup (cfg_look_charset_encode) : strdup (""); + + config_option_list_get_value (&(server->charset_encode), + "server", &pos, &length); + if (pos && (length > 0)) + { + result = strdup (pos); + result[length] = '\0'; + return result; + } + + return (cfg_look_charset_encode) ? + strdup (cfg_look_charset_encode) : strdup (""); +} + +/* * server_send: send data to IRC server */ @@ -433,7 +537,6 @@ server_sendf (t_irc_server *server, char *fmt, ...) { va_list args; static char buffer[4096]; - char *buf2; int size_buf; if (!server) @@ -454,17 +557,12 @@ server_sendf (t_irc_server *server, char *fmt, ...) gui_printf (server->buffer, "[DEBUG] Sending to server >>> %s\n", buffer); buffer[size_buf - 2] = '\r'; #endif - buf2 = weechat_convert_encoding ((cfg_look_charset_internal && cfg_look_charset_internal[0]) ? - cfg_look_charset_internal : local_charset, - cfg_look_charset_encode, - buffer); - if (server_send (server, buf2, strlen (buf2)) <= 0) + if (server_send (server, buffer, strlen (buffer)) <= 0) { irc_display_prefix (server, server->buffer, PREFIX_ERROR); gui_printf (server->buffer, _("%s error sending data to IRC server\n"), WEECHAT_ERROR); } - free (buf2); } /* @@ -1782,6 +1880,9 @@ server_print_log (t_irc_server *server) weechat_log_printf (" autojoin. . . . . . : '%s'\n", server->autojoin); weechat_log_printf (" autorejoin. . . . . : %d\n", server->autorejoin); weechat_log_printf (" notify_levels . . . : %s\n", server->notify_levels); + weechat_log_printf (" charset_decode_iso. : %s\n", server->charset_decode_iso); + weechat_log_printf (" charset_decode_utf. : %s\n", server->charset_decode_utf); + weechat_log_printf (" charset_encode. . . : %s\n", server->charset_encode); weechat_log_printf (" child_pid . . . . . : %d\n", server->child_pid); weechat_log_printf (" child_read . . . . : %d\n", server->child_read); weechat_log_printf (" child_write . . . . : %d\n", server->child_write); diff --git a/src/irc/irc.h b/src/irc/irc.h index e2fdc00fb..28a10b13f 100644 --- a/src/irc/irc.h +++ b/src/irc/irc.h @@ -143,6 +143,9 @@ struct t_irc_server char *autojoin; /* channels to automatically join */ int autorejoin; /* auto rejoin channels when kicked */ char *notify_levels; /* channels notify levels */ + char *charset_decode_iso; /* channels charsets for decoding ISO */ + char *charset_decode_utf; /* channels charsets for decoding UTF */ + char *charset_encode; /* channels charsets for encoding msgs */ /* internal vars */ pid_t child_pid; /* pid of child process (connecting) */ @@ -301,7 +304,11 @@ extern void server_free (t_irc_server *); extern void server_free_all (); extern t_irc_server *server_new (char *, int, int, int, int, char *, int, int, int, char *, char *, char *, char *, char *, char *, - char *, int, char *, int, char *); + char *, int, char *, int, char *, char *, char *, + char *); +extern char *server_get_charset_decode_iso (t_irc_server *); +extern char *server_get_charset_decode_utf (t_irc_server *); +extern char *server_get_charset_encode (t_irc_server *); extern int server_send (t_irc_server *, char *, int); extern void server_sendf (t_irc_server *, char *, ...); extern void server_recv (t_irc_server *); @@ -336,13 +343,17 @@ extern void channel_free (t_irc_server *, t_irc_channel *); extern void channel_free_all (t_irc_server *); extern t_irc_channel *channel_search (t_irc_server *, char *); extern int string_is_channel (char *); +extern char *channel_get_charset_decode_iso (t_irc_server *, t_irc_channel *); +extern char *channel_get_charset_decode_utf (t_irc_server *, t_irc_channel *); +extern char *channel_get_charset_encode (t_irc_server *, t_irc_channel *); +extern char *channel_iconv_decode (t_irc_server *, t_irc_channel *, char *); +extern char *channel_iconv_encode (t_irc_server *, t_irc_channel *, char *); extern void channel_remove_away (t_irc_channel *); extern void channel_check_away (t_irc_server *, t_irc_channel *); extern void channel_set_away (t_irc_channel *, char *, int); extern int channel_create_dcc (t_irc_dcc *); extern void channel_remove_dcc (t_irc_dcc *); extern int channel_get_notify_level (t_irc_server *, t_irc_channel *); -extern void channel_remove_notify_level (t_irc_server *, t_irc_channel *); extern void channel_set_notify_level (t_irc_server *, t_irc_channel *, int); extern void channel_print_log (t_irc_channel *); @@ -387,12 +398,9 @@ extern void irc_display_mode (t_irc_server *, t_gui_buffer *, char *, char, char *, char *, char *, char *); extern void irc_display_server (t_irc_server *ptr_server); -/* IRC protocol (irc-commands.c) */ +/* IRC commands issued by user (irc-send.c) */ -extern int irc_is_highlight (char *, char *); -extern int irc_recv_command (t_irc_server *, char *, char *, char *, char *); extern void irc_login (t_irc_server *); -/* IRC commands issued by user */ extern int irc_cmd_send_admin (t_irc_server *, char *); extern int irc_cmd_send_ame (t_irc_server *, char *); extern int irc_cmd_send_amsg (t_irc_server *, char *); @@ -452,7 +460,11 @@ extern int irc_cmd_send_wallops (t_irc_server *, char *); extern int irc_cmd_send_who (t_irc_server *, char *); extern int irc_cmd_send_whois (t_irc_server *, char *); extern int irc_cmd_send_whowas (t_irc_server *, char *); -/* IRC commands executed when received from server */ + +/* IRC commands executed when received from server (irc-recv.c) */ + +extern int irc_is_highlight (char *, char *); +extern int irc_recv_command (t_irc_server *, char *, char *, char *, char *); extern int irc_cmd_recv_error (t_irc_server *, char *, char *, char *); extern int irc_cmd_recv_invite (t_irc_server *, char *, char *, char *); extern int irc_cmd_recv_join (t_irc_server *, char *, char *, char *); |