xC: handle multiline server commands properly
Alpine 3.20 Success Details
Arch Linux AUR Success Details
OpenBSD 7.5 Success Details

Additional lines might have been passed to the server intact
as part of an argument, but we have /quote for that.
This commit is contained in:
Přemysl Eric Janouch 2024-07-28 04:00:15 +02:00
parent 12fc3c228a
commit 3ad8c79de8
Signed by: p
GPG Key ID: A0420B94F92B9493
2 changed files with 5 additions and 1 deletions

2
NEWS
View File

@ -16,6 +16,8 @@
* xC: replaced behaviour.save_on_quit with general.autosave * xC: replaced behaviour.save_on_quit with general.autosave
* xC: the server *.command configuration option now supports multiple lines
* xC: improved pager integration capabilities * xC: improved pager integration capabilities
* xC: unsolicited JOINs will no longer automatically activate the buffer * xC: unsolicited JOINs will no longer automatically activate the buffer

4
xC.c
View File

@ -8317,6 +8317,8 @@ irc_try_parse_welcome_for_userhost (struct server *s, const char *m)
strv_free (&v); strv_free (&v);
} }
static void process_input
(struct app_context *, struct buffer *, const char *);
static bool process_input_line static bool process_input_line
(struct app_context *, struct buffer *, const char *, int); (struct app_context *, struct buffer *, const char *, int);
static void on_autoaway_timer (struct app_context *ctx); static void on_autoaway_timer (struct app_context *ctx);
@ -8345,7 +8347,7 @@ irc_on_registered (struct server *s, const char *nickname)
if (command) if (command)
{ {
log_server_debug (s, "Executing \"#s\"", command); log_server_debug (s, "Executing \"#s\"", command);
(void) process_input_line (s->ctx, s->buffer, command, 0); (void) process_input (s->ctx, s->buffer, command);
} }
int64_t command_delay = get_config_integer (s->config, "command_delay"); int64_t command_delay = get_config_integer (s->config, "command_delay");