From e8ee27b0fd8e98364e579f9efc9d0a7d6261b6ec Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Fri, 5 May 2023 10:56:00 +0200 Subject: [PATCH] MINOR: cli: Use applet API to write output message Instead of using the channel API to to write output message from the CLI applet, we use the applet API. This way, the applet does not need to take care to request more room it it fails to put its message into the channel's buffer. --- src/cli.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/cli.c b/src/cli.c index 0ec005a370..c26840a469 100644 --- a/src/cli.c +++ b/src/cli.c @@ -845,12 +845,12 @@ fail: } /* prepends then outputs the argument msg with a syslog-type severity depending on severity_output value */ -static int cli_output_msg(struct channel *chn, const char *msg, int severity, int severity_output) +static int cli_output_msg(struct appctx *appctx, const char *msg, int severity, int severity_output) { struct buffer *tmp; if (likely(severity_output == CLI_SEVERITY_NONE)) - return ci_putblk(chn, msg, strlen(msg)); + return applet_putstr(appctx, msg); tmp = get_trash_chunk(); chunk_reset(tmp); @@ -873,7 +873,7 @@ static int cli_output_msg(struct channel *chn, const char *msg, int severity, in } chunk_appendf(tmp, "%s", msg); - return ci_putblk(chn, tmp->area, strlen(tmp->area)); + return applet_putchk(appctx, tmp); } /* This I/O handler runs as an applet embedded in a stream connector. It is @@ -1082,7 +1082,7 @@ static void cli_io_handler(struct appctx *appctx) msg = "Internal error.\n"; } - if (cli_output_msg(res, msg, sev, cli_get_severity_output(appctx)) != -1) { + if (cli_output_msg(appctx, msg, sev, cli_get_severity_output(appctx)) != -1) { if (appctx->st0 == CLI_ST_PRINT_DYN || appctx->st0 == CLI_ST_PRINT_DYNERR) { ha_free(&ctx->err); @@ -1093,8 +1093,6 @@ static void cli_io_handler(struct appctx *appctx) } appctx->st0 = CLI_ST_PROMPT; } - else - sc_need_room(sc); break; case CLI_ST_CALLBACK: /* use custom pointer */ -- 2.47.3