X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Firssi%2Fsrc%2Ffe-common%2Fcore%2Ffe-server.c;fp=apps%2Firssi%2Fsrc%2Ffe-common%2Fcore%2Ffe-server.c;h=e4b32bdbbe9826e7683875e90a255039bc275823;hb=18d69a0a1fec438e241bb4f431506ed59a34066b;hp=5ecacbbc871f49b8d25196a74838fca4ebaac303;hpb=f7be6adec0248118cddde9b04522c13cd90568cd;p=silc.git diff --git a/apps/irssi/src/fe-common/core/fe-server.c b/apps/irssi/src/fe-common/core/fe-server.c index 5ecacbbc..e4b32bdb 100644 --- a/apps/irssi/src/fe-common/core/fe-server.c +++ b/apps/irssi/src/fe-common/core/fe-server.c @@ -13,9 +13,9 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "module.h" @@ -108,7 +108,7 @@ static void cmd_server_add(const char *data) { GHashTable *optlist; SERVER_SETUP_REC *rec; - char *addr, *portstr, *password, *value; + char *addr, *portstr, *password, *value, *chatnet; void *free_arg; int port; @@ -119,7 +119,10 @@ static void cmd_server_add(const char *data) if (*addr == '\0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS); port = *portstr == '\0' ? DEFAULT_SERVER_ADD_PORT : atoi(portstr); - rec = server_setup_find_port(addr, port); + chatnet = g_hash_table_lookup(optlist, "network"); + + rec = server_setup_find(addr, port, chatnet); + if (rec == NULL) { rec = create_server_setup(optlist); if (rec == NULL) { @@ -194,21 +197,30 @@ static void cmd_server_add(const char *data) cmd_params_free(free_arg); } -/* SYNTAX: SERVER REMOVE
[] */ +/* SYNTAX: SERVER REMOVE
[] [] */ static void cmd_server_remove(const char *data) { SERVER_SETUP_REC *rec; - char *addr, *port; + char *addr, *port, *chatnet; void *free_arg; - if (!cmd_get_params(data, &free_arg, 2, &addr, &port)) + if (!cmd_get_params(data, &free_arg, 3, &addr, &port, &chatnet)) return; if (*addr == '\0') cmd_param_error(CMDERR_NOT_ENOUGH_PARAMS); - if (*port == '\0') - rec = server_setup_find(addr, -1, NULL); + if (*port == '\0') { + if (*chatnet == '\0') + rec = server_setup_find(addr, -1, NULL); + else + rec = server_setup_find(addr, -1, chatnet); + } else - rec = server_setup_find_port(addr, atoi(port)); + { + if (*chatnet == '\0') + rec = server_setup_find(addr, atoi(port), NULL); + else + rec = server_setup_find(addr, atoi(port), chatnet); + } if (rec == NULL) printformat(NULL, NULL, MSGLEVEL_CLIENTNOTICE, TXT_SETUPSERVER_NOT_FOUND, addr, port);