summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2000-07-23 13:50:07 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2000-07-23 13:50:07 +0000
commit24b56c77eca48f2724dfa55b36e359c688123f7e (patch)
tree1de9d0eb22c756a62507ce4adbcf686f3f8390dc /src
parent271ebb5be72994c690173ac0892053d3f6cae498 (diff)
downloadirssi-24b56c77eca48f2724dfa55b36e359c688123f7e.zip
Connecting to IPv6 IRC server with IP address didn't work because the
USER command didn't like the ':' characters in server address.. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@523 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src')
-rw-r--r--src/irc/core/irc-server.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/irc/core/irc-server.c b/src/irc/core/irc-server.c
index 1439157d..898f281e 100644
--- a/src/irc/core/irc-server.c
+++ b/src/irc/core/irc-server.c
@@ -74,7 +74,7 @@ void irc_server_connect_free(IRC_SERVER_CONNECT_REC *rec)
static void server_init(IRC_SERVER_REC *server)
{
IRC_SERVER_CONNECT_REC *conn;
- char hostname[100];
+ char hostname[100], *address, *ptr;
g_return_if_fail(server != NULL);
@@ -99,8 +99,15 @@ static void server_init(IRC_SERVER_REC *server)
if (gethostname(hostname, sizeof(hostname)) != 0 || *hostname == '\0')
strcpy(hostname, "xx");
+ address = server->connrec->address;
+ ptr = strrchr(address, ':');
+ if (ptr != NULL) {
+ /* IPv6 address .. doesn't work here, use the string after
+ the last : char */
+ address = ptr+1;
+ }
irc_send_cmdv(server, "USER %s %s %s :%s", conn->username, hostname,
- server->connrec->address, conn->realname);
+ address, conn->realname);
server->cmdcount = 0;
}