summaryrefslogtreecommitdiffstats
path: root/cmd-confirm-before.c
diff options
context:
space:
mode:
authornicm <nicm>2021-08-25 08:51:55 +0000
committernicm <nicm>2021-08-25 08:51:55 +0000
commit03d173cbd8e72c356512a0e19e356b07d518627a (patch)
tree3470ea9b0d06f58f84da38ba11c5bc9c015cb941 /cmd-confirm-before.c
parentc6d6af49039d7fc3ec14c2240153226709497313 (diff)
Validate command argument types (string or command list) and give more
useful error messages.
Diffstat (limited to 'cmd-confirm-before.c')
-rw-r--r--cmd-confirm-before.c15
1 files changed, 12 insertions, 3 deletions
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)
{