From 03d173cbd8e72c356512a0e19e356b07d518627a Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 25 Aug 2021 08:51:55 +0000 Subject: Validate command argument types (string or command list) and give more useful error messages. --- cmd-confirm-before.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'cmd-confirm-before.c') diff --git a/cmd-confirm-before.c b/cmd-confirm-before.c index 4fe43302..8f50ba2d 100644 --- a/cmd-confirm-before.c +++ b/cmd-confirm-before.c @@ -28,8 +28,10 @@ * Asks for confirmation before executing a command. */ -static enum cmd_retval cmd_confirm_before_exec(struct cmd *, - struct cmdq_item *); +static enum args_parse_type cmd_confirm_before_args_parse(struct args *, + u_int, char **); +static enum cmd_retval cmd_confirm_before_exec(struct cmd *, + struct cmdq_item *); static int cmd_confirm_before_callback(struct client *, void *, const char *, int); @@ -39,7 +41,7 @@ const struct cmd_entry cmd_confirm_before_entry = { .name = "confirm-before", .alias = "confirm", - .args = { "bp:t:", 1, 1, NULL }, + .args = { "bp:t:", 1, 1, cmd_confirm_before_args_parse }, .usage = "[-b] [-p prompt] " CMD_TARGET_CLIENT_USAGE " command", .flags = CMD_CLIENT_TFLAG, @@ -51,6 +53,13 @@ struct cmd_confirm_before_data { struct cmd_list *cmdlist; }; +static enum args_parse_type +cmd_confirm_before_args_parse(__unused struct args *args, __unused u_int idx, + __unused char **cause) +{ + return (ARGS_PARSE_COMMANDS_OR_STRING); +} + static enum cmd_retval cmd_confirm_before_exec(struct cmd *self, struct cmdq_item *item) { -- cgit v1.2.3