0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2025-02-13 11:36:42 +00:00

CLI: adding cli_vprintf()

This commit is contained in:
Maria Matejka 2024-11-14 20:46:45 +01:00 committed by Ondrej Zajicek
parent 946386f2dd
commit 145830bdc8
2 changed files with 10 additions and 5 deletions

View File

@ -117,9 +117,8 @@ cli_alloc_out(cli *c, int size)
* macro instead.
*/
void
cli_printf(cli *c, int code, char *msg, ...)
cli_vprintf(cli *c, int code, const char *msg, va_list args)
{
va_list args;
byte buf[CLI_LINE_SIZE];
int cd = code;
int errcode;
@ -147,9 +146,7 @@ cli_printf(cli *c, int code, char *msg, ...)
}
c->last_reply = cd;
va_start(args, msg);
cnt = bvsnprintf(buf+size, sizeof(buf)-size-1, msg, args);
va_end(args);
if (cnt < 0)
{
cli_printf(c, errcode, "<line overflow>");

View File

@ -75,7 +75,15 @@ extern struct cli *this_cli; /* Used during parsing */
/* Functions to be called by command handlers */
void cli_printf(cli *, int, char *, ...);
void cli_vprintf(cli *, int, const char *, va_list);
static inline void cli_printf(cli *cli, int code, const char *fmt, ...)
{
va_list args;
va_start(args, fmt);
cli_vprintf(cli, code, fmt, args);
va_end(args);
}
#define cli_msg(x...) cli_printf(this_cli, x)
void cli_set_log_echo(cli *, uint mask, uint size);
void cli_set_timeformat(cli *c, const struct timeformat tf);