diff options
author | Přemysl Janouch <p.janouch@gmail.com> | 2015-06-19 20:47:37 +0200 |
---|---|---|
committer | Přemysl Janouch <p.janouch@gmail.com> | 2015-06-19 20:47:37 +0200 |
commit | 86f4578d123981c0b72225edc559d107acd8945d (patch) | |
tree | 2fda370ddefe6c790f12793ad9c2203f1b801f81 /degesch.c | |
parent | 1c1cffa6ebb5fa544c59749d377c3c0189a442aa (diff) | |
download | xK-86f4578d123981c0b72225edc559d107acd8945d.tar.gz xK-86f4578d123981c0b72225edc559d107acd8945d.tar.xz xK-86f4578d123981c0b72225edc559d107acd8945d.zip |
degesch: allow specifying server in /disconnect
Diffstat (limited to 'degesch.c')
-rw-r--r-- | degesch.c | 20 |
1 files changed, 13 insertions, 7 deletions
@@ -6536,10 +6536,10 @@ handle_command_connect (struct app_context *ctx, char *arguments) struct server *s = NULL; if (*arguments) { - char *name = cut_word (&arguments); - if (!(s = str_map_find (&ctx->servers, name))) - buffer_send_error (ctx, ctx->global_buffer, - "%s: %s: %s", "Can't connect", "no such server", name); + char *server_name = cut_word (&arguments); + if (!(s = str_map_find (&ctx->servers, server_name))) + buffer_send_error (ctx, ctx->global_buffer, "%s: %s: %s", + "Can't connect", "no such server", server_name); } else if (ctx->current_buffer->type == BUFFER_GLOBAL) buffer_send_error (ctx, ctx->current_buffer, @@ -6567,9 +6567,15 @@ handle_command_connect (struct app_context *ctx, char *arguments) static bool handle_command_disconnect (struct app_context *ctx, char *arguments) { - // TODO: take server name from the first argument, if any struct server *s = NULL; - if (ctx->current_buffer->type == BUFFER_GLOBAL) + if (*arguments) + { + char *server_name = cut_word (&arguments); + if (!(s = str_map_find (&ctx->servers, server_name))) + buffer_send_error (ctx, ctx->current_buffer, "%s: %s: %s", + "Can't disconnect", "no such server", server_name); + } + else if (ctx->current_buffer->type == BUFFER_GLOBAL) buffer_send_error (ctx, ctx->current_buffer, "%s: %s", "Can't disconnect", "this buffer is global"); else @@ -6827,7 +6833,7 @@ g_command_handlers[] = "[<server>]", handle_command_connect }, { "disconnect", "Disconnect from the server", - "[<reason>]", + "[<server> [<reason>]]", handle_command_disconnect }, { "list", "List channels and their topic", "[<channel>[,<channel>...]] [<target>]", |