summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2024-07-28 04:00:15 +0200
committerPřemysl Eric Janouch <p@janouch.name>2024-07-28 04:10:30 +0200
commit3ad8c79de8724d3661c7502d6951f861eb3cebc7 (patch)
tree35168382f838b72601c6eeba2175ad4858943151
parent12fc3c228a45d3250b48c1320a130c59074f20d4 (diff)
downloadxK-3ad8c79de8724d3661c7502d6951f861eb3cebc7.tar.gz
xK-3ad8c79de8724d3661c7502d6951f861eb3cebc7.tar.xz
xK-3ad8c79de8724d3661c7502d6951f861eb3cebc7.zip
xC: handle multiline server commands properly
Additional lines might have been passed to the server intact as part of an argument, but we have /quote for that.
-rw-r--r--NEWS2
-rw-r--r--xC.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 7ee97ec..2b3720a 100644
--- a/NEWS
+++ b/NEWS
@@ -16,6 +16,8 @@
* 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: unsolicited JOINs will no longer automatically activate the buffer
diff --git a/xC.c b/xC.c
index 4902b08..75cbb93 100644
--- a/xC.c
+++ b/xC.c
@@ -8317,6 +8317,8 @@ irc_try_parse_welcome_for_userhost (struct server *s, const char *m)
strv_free (&v);
}
+static void process_input
+ (struct app_context *, struct buffer *, const char *);
static bool process_input_line
(struct app_context *, struct buffer *, const char *, int);
static void on_autoaway_timer (struct app_context *ctx);
@@ -8345,7 +8347,7 @@ irc_on_registered (struct server *s, const char *nickname)
if (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");