summaryrefslogtreecommitdiff
path: root/src/core/servers.c
diff options
context:
space:
mode:
authorTimo Sirainen <cras@irssi.org>2001-02-09 21:26:50 +0000
committercras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564>2001-02-09 21:26:50 +0000
commit8938a0f42b178a3bf26ad6976013ad57fb1e5bb2 (patch)
treebb2d5b6588d9db712f89e8d3159d8ece1d943e56 /src/core/servers.c
parent6358c2d62727113c15d389dd0e6460ba9a72f941 (diff)
downloadirssi-8938a0f42b178a3bf26ad6976013ad57fb1e5bb2.zip
/CONNECT, /SERVER: added -4 and -6 options for specifying if we should
connect to IPv4 or IPv6 address of the server. If -host or /SET hostname is set irssi determines from it if it should use IPv4 or v6. git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1192 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/core/servers.c')
-rw-r--r--src/core/servers.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/servers.c b/src/core/servers.c
index ac0f5bef..0972174d 100644
--- a/src/core/servers.c
+++ b/src/core/servers.c
@@ -256,13 +256,17 @@ int server_start_connect(SERVER_REC *server)
}
server->connect_pipe[0] = g_io_channel_unix_new(fd[0]);
- server->connect_pipe[1] = g_io_channel_unix_new(fd[1]);
+ server->connect_pipe[1] = g_io_channel_unix_new(fd[1]);
+
+ if (server->connrec->family == 0 && server->connrec->own_ip != NULL)
+ server->connrec->family = server->connrec->own_ip->family;
connect_address = server->connrec->proxy != NULL ?
server->connrec->proxy : server->connrec->address;
server->connect_pid =
net_gethostbyname_nonblock(connect_address,
- server->connect_pipe[1]);
+ server->connect_pipe[1],
+ server->connrec->family);
server->connect_tag =
g_input_add(server->connect_pipe[0], G_INPUT_READ,
(GInputFunction) server_connect_callback_readpipe,