aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--degesch.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/degesch.c b/degesch.c
index 2259e68..d064812 100644
--- a/degesch.c
+++ b/degesch.c
@@ -5205,9 +5205,14 @@ handle_command_part (struct app_context *ctx, char *arguments)
struct server *s = ctx->current_buffer->server;
if (*arguments)
+ {
// TODO: check if the arguments are in the form of "channel(,channel)*"
- // TODO: make sure to send the reason as one argument
- irc_send (s, "PART %s", arguments);
+ char *channels = cut_word (&arguments);
+ if (*arguments)
+ irc_send (s, "PART %s :%s", channels, arguments);
+ else
+ irc_send (s, "PART %s", channels);
+ }
else if (ctx->current_buffer->type != BUFFER_CHANNEL)
buffer_send_error (ctx, ctx->current_buffer,
"%s: %s", "Can't part",
@@ -5370,7 +5375,7 @@ g_command_handlers[] =
"[<channel>[,<channel>...]]",
handle_command_join },
{ "part", "Leave channels",
- "[<channel>[,<channel>...]]",
+ "[<channel>[,<channel>...]] [reason]",
handle_command_part },
NOT_IMPLEMENTED (cycle)