mirror of
https://github.com/irssi/irssi.git
synced 2026-08-11 04:43:34 +02:00
Allow servers with the same server and port to be part of multiple networks. This should make life much easier for znc users. Thanks to Tykling, Bazerka and znx.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5125 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
1a4c665686
commit
e37be456cd
5 changed files with 29 additions and 26 deletions
|
|
@ -352,15 +352,6 @@ SERVER_SETUP_REC *server_setup_find(const char *address, int port,
|
|||
return server;
|
||||
}
|
||||
|
||||
/* Find matching server from setup. Ports must match or NULL is returned. */
|
||||
SERVER_SETUP_REC *server_setup_find_port(const char *address, int port)
|
||||
{
|
||||
SERVER_SETUP_REC *rec;
|
||||
|
||||
rec = server_setup_find(address, port, NULL);
|
||||
return rec == NULL || rec->port != port ? NULL : rec;
|
||||
}
|
||||
|
||||
static SERVER_SETUP_REC *server_setup_read(CONFIG_NODE *node)
|
||||
{
|
||||
SERVER_SETUP_REC *rec;
|
||||
|
|
@ -375,14 +366,13 @@ static SERVER_SETUP_REC *server_setup_read(CONFIG_NODE *node)
|
|||
return NULL;
|
||||
|
||||
port = config_node_get_int(node, "port", 0);
|
||||
if (server_setup_find_port(server, port) != NULL) {
|
||||
/* already exists - don't let it get there twice or
|
||||
server reconnects will screw up! */
|
||||
chatnet = config_node_get_str(node, "chatnet", NULL);
|
||||
|
||||
if (server_setup_find(server, port, chatnet) != NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
rec = NULL;
|
||||
chatnet = config_node_get_str(node, "chatnet", NULL);
|
||||
|
||||
chatnetrec = chatnet == NULL ? NULL : chatnet_find(chatnet);
|
||||
if (chatnetrec == NULL && chatnet != NULL) {
|
||||
|
|
|
|||
|
|
@ -35,8 +35,6 @@ server_create_conn(int chat_type, const char *dest, int port,
|
|||
but fallback to any server with the same address. */
|
||||
SERVER_SETUP_REC *server_setup_find(const char *address, int port,
|
||||
const char *chatnet);
|
||||
/* Find matching server from setup. Ports must match or NULL is returned. */
|
||||
SERVER_SETUP_REC *server_setup_find_port(const char *address, int port);
|
||||
|
||||
void server_setup_add(SERVER_SETUP_REC *rec);
|
||||
void server_setup_remove(SERVER_SETUP_REC *rec);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue