mirror of
https://github.com/irssi/irssi.git
synced 2026-08-09 03:40:16 +02: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:
parent
d5564a0e01
commit
65e87c9861
1 changed files with 15 additions and 0 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue