This commit is contained in:
erdnaxeli 2018-01-06 18:10:33 +00:00 committed by GitHub
commit 9215e003b9

View file

@ -323,7 +323,7 @@ static void event_nick_invalid(IRC_SERVER_REC *server, const char *data)
static void event_nick_in_use(IRC_SERVER_REC *server, const char *data) static void event_nick_in_use(IRC_SERVER_REC *server, const char *data)
{ {
char *str, *cmd; char *str, *cmd, *params, *nick;
int n; int n;
g_return_if_fail(data != NULL); g_return_if_fail(data != NULL);
@ -333,6 +333,14 @@ static void event_nick_in_use(IRC_SERVER_REC *server, const char *data)
return; return;
} }
params = event_get_params(data, 2, NULL, &nick);
if (g_ascii_strcasecmp(server->nick, nick) != 0) {
/* the server uses a nick different from the one we send */
g_free(server->nick);
server->nick = g_strdup(nick);
}
g_free(params);
/* nick already in use - need to change it .. */ /* nick already in use - need to change it .. */
if (g_ascii_strcasecmp(server->nick, server->connrec->nick) == 0 && if (g_ascii_strcasecmp(server->nick, server->connrec->nick) == 0 &&
server->connrec->alternate_nick != NULL && server->connrec->alternate_nick != NULL &&