degesch: allow specifying server in /disconnect
This commit is contained in:
parent
1c1cffa6eb
commit
86f4578d12
20
degesch.c
20
degesch.c
@ -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>]",
|
||||
|
Loading…
Reference in New Issue
Block a user