diff options
author | Timo Sirainen <cras@irssi.org> | 2002-02-10 10:21:46 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2002-02-10 10:21:46 +0000 |
commit | c674db5c8ef5c32933f39055029e07a6ce18a62a (patch) | |
tree | d43cb28d09f7cceb1fafcc7de8183111fda54de8 /src/irc | |
parent | 3990779dc507e0c81dceae0ea691294d2b15e910 (diff) | |
download | irssi-c674db5c8ef5c32933f39055029e07a6ce18a62a.zip |
Don't stop reconnecting to server if we get nick collided
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2408 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/irc')
-rw-r--r-- | src/irc/core/irc-servers-reconnect.c | 8 | ||||
-rw-r--r-- | src/irc/core/irc-servers.h | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/irc/core/irc-servers-reconnect.c b/src/irc/core/irc-servers-reconnect.c index 71a3718e..f2cbf7f0 100644 --- a/src/irc/core/irc-servers-reconnect.c +++ b/src/irc/core/irc-servers-reconnect.c @@ -86,12 +86,16 @@ static void event_nick_collision(IRC_SERVER_REC *server, const char *data) settings_get_int("server_reconnect_time"); if (server->connect_time > new_connect) server->connect_time = new_connect; + + server->nick_collision = TRUE; } static void event_kill(IRC_SERVER_REC *server, const char *data) { - /* don't reconnect if we were killed */ - server->no_reconnect = TRUE; + if (!server->nick_collision) { + /* don't reconnect if we were killed */ + server->no_reconnect = TRUE; + } } void irc_servers_reconnect_init(void) diff --git a/src/irc/core/irc-servers.h b/src/irc/core/irc-servers.h index 370dd0d1..0f4659cd 100644 --- a/src/irc/core/irc-servers.h +++ b/src/irc/core/irc-servers.h @@ -59,6 +59,7 @@ struct _IRC_SERVER_REC { unsigned int no_multi_who:1; /* Server doesn't understand WHO #chan1,#chan2,... */ unsigned int one_endofwho:1; /* /WHO #a,#b,.. replies only with one End of WHO message */ unsigned int disable_lag:1; /* Disable lag detection (PING command doesn't exist) */ + unsigned int nick_collision:1; /* We're just now being killed because of nick collision */ int max_kicks_in_cmd; /* max. number of people to kick with one /KICK command */ int max_modes_in_cmd; /* max. number of mode changes in one /MODE command */ |