diff options
author | Timo Sirainen <cras@irssi.org> | 2000-07-23 13:50:07 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2000-07-23 13:50:07 +0000 |
commit | 24b56c77eca48f2724dfa55b36e359c688123f7e (patch) | |
tree | 1de9d0eb22c756a62507ce4adbcf686f3f8390dc /src | |
parent | 271ebb5be72994c690173ac0892053d3f6cae498 (diff) | |
download | irssi-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.c | 11 |
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; } |