diff options
author | Jilles Tjoelker <jilles@irssi.org> | 2007-07-06 21:43:23 +0000 |
---|---|---|
committer | jilles <jilles@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2007-07-06 21:43:23 +0000 |
commit | 8312144547de98710859e8c44227ee894d724b01 (patch) | |
tree | 392bd091201fc86b5e7afe1db64b22bf4f5a7aca /src/irc | |
parent | 0b8bee080ac588b9763b72a5abd866ed37425f07 (diff) | |
download | irssi-8312144547de98710859e8c44227ee894d724b01.zip |
Move the check for 4xx numeric for join failures last, so
that the CHANNEL_REC is still around when handlers for
specific numerics are executed. This allows removing the
ugly special case for 437; I will also use this for 470
(channel forwarding).
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4572 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/irc')
-rw-r--r-- | src/irc/core/channel-events.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/irc/core/channel-events.c b/src/irc/core/channel-events.c index 7addd8e4..441849b8 100644 --- a/src/irc/core/channel-events.c +++ b/src/irc/core/channel-events.c @@ -60,8 +60,7 @@ static void irc_server_event(IRC_SERVER_REC *server, const char *line) indicate that the join failed. */ params = event_get_params(line, 3, &numeric, NULL, &channel); - /* 437 is handled specially in src/irc/core/channel-rejoin.c */ - if (numeric[0] == '4' && (numeric[1] != '3' || numeric[2] != '7')) + if (numeric[0] == '4') check_join_failure(server, channel); g_free(params); @@ -360,7 +359,7 @@ void channel_events_init(void) { settings_add_bool("misc", "join_auto_chans_on_invite", TRUE); - signal_add_first("server event", (SIGNAL_FUNC) irc_server_event); + signal_add_last("server event", (SIGNAL_FUNC) irc_server_event); signal_add_first("event 403", (SIGNAL_FUNC) event_no_such_channel); /* no such channel */ signal_add_first("event 407", (SIGNAL_FUNC) event_duplicate_channel); /* duplicate channel */ |