summaryrefslogtreecommitdiff
path: root/src/irc/proxy/dump.c
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2001-12-07 15:58:58 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2001-12-07 15:58:58 +0000
commitfe8971ac8f9e841e2e33e2532c029eddda589774 (patch)
tree28e5d8b13475010dd9b2bd750fdd1b9dfbca72a1 /src/irc/proxy/dump.c
parentcb6e1286cdf68f0ac60581eb46c220487d81bb59 (diff)
downloadirssi-fe8971ac8f9e841e2e33e2532c029eddda589774.zip
Send NICK change before 001 request so that ircII also knows our real nick.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2211 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/irc/proxy/dump.c')
-rw-r--r--src/irc/proxy/dump.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/irc/proxy/dump.c b/src/irc/proxy/dump.c
index 0fe9ca4b..c693e953 100644
--- a/src/irc/proxy/dump.c
+++ b/src/irc/proxy/dump.c
@@ -200,12 +200,22 @@ static void dump_join(IRC_CHANNEL_REC *channel, CLIENT_REC *client)
}
}
+void proxy_client_reset_nick(CLIENT_REC *client)
+{
+ if (client->server == NULL ||
+ strcmp(client->nick, client->server->nick) == 0)
+ return;
+
+ proxy_outdata(client, ":%s!proxy NICK :%s\n",
+ client->nick, client->server->nick);
+
+ g_free(client->nick);
+ client->nick = g_strdup(client->server->nick);
+}
+
void proxy_dump_data(CLIENT_REC *client)
{
- if (client->server != NULL) {
- g_free(client->nick);
- client->nick = g_strdup(client->server->nick);
- }
+ proxy_client_reset_nick(client);
/* welcome info */
proxy_outdata(client, ":%s 001 %s :Welcome to the Internet Relay Network\n", client->proxy_address, client->nick);