1
0
mirror of https://github.com/irssi/irssi.git synced 2025-02-02 15:08:01 -05:00

fix to some broken "ircds"

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2589 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2002-03-12 20:51:03 +00:00 committed by cras
parent d5564a0e01
commit 65e87c9861

View File

@ -507,6 +507,19 @@ static void event_server_info(IRC_SERVER_REC *server, const char *data)
g_free(params);
}
static void event_motd(IRC_SERVER_REC *server, const char *data, const char *from)
{
if (server->connected)
return;
/* Stupid broken piece of shit ircd didn't send us 001,
you'd think they could at least get that right??
But no, then I'll have to go and add these idiotic kludges
to make them work. Maybe I should instead get the users of these
servers to complain about it to their admins. */
event_connected(server, data, from);
}
static void event_channels_formed(IRC_SERVER_REC *server, const char *data)
{
char *params, *channels;
@ -564,6 +577,7 @@ void irc_servers_init(void)
signal_add_last("server quit", (SIGNAL_FUNC) sig_server_quit);
signal_add("event 001", (SIGNAL_FUNC) event_connected);
signal_add("event 004", (SIGNAL_FUNC) event_server_info);
signal_add("event 375", (SIGNAL_FUNC) event_motd);
signal_add("event 254", (SIGNAL_FUNC) event_channels_formed);
signal_add("event 465", (SIGNAL_FUNC) event_server_banned);
signal_add("event error", (SIGNAL_FUNC) event_error);
@ -586,6 +600,7 @@ void irc_servers_deinit(void)
signal_remove("server quit", (SIGNAL_FUNC) sig_server_quit);
signal_remove("event 001", (SIGNAL_FUNC) event_connected);
signal_remove("event 004", (SIGNAL_FUNC) event_server_info);
signal_remove("event 375", (SIGNAL_FUNC) event_motd);
signal_remove("event 254", (SIGNAL_FUNC) event_channels_formed);
signal_remove("event 465", (SIGNAL_FUNC) event_server_banned);
signal_remove("event error", (SIGNAL_FUNC) event_error);