aboutsummaryrefslogtreecommitdiff
path: root/tmux.h
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 /tmux.h
parentc6d6af49039d7fc3ec14c2240153226709497313 (diff)
downloadrtmux-03d173cbd8e72c356512a0e19e356b07d518627a.tar.gz
rtmux-03d173cbd8e72c356512a0e19e356b07d518627a.tar.bz2
rtmux-03d173cbd8e72c356512a0e19e356b07d518627a.zip
Validate command argument types (string or command list) and give more
useful error messages.
Diffstat (limited to 'tmux.h')
-rw-r--r--tmux.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/tmux.h b/tmux.h
index 668ca270..96baaf4d 100644
--- a/tmux.h
+++ b/tmux.h
@@ -1378,8 +1378,16 @@ struct args_value {
struct args_entry;
RB_HEAD(args_tree, args_entry);
+/* Arguments parsing type. */
+enum args_parse_type {
+ ARGS_PARSE_INVALID,
+ ARGS_PARSE_STRING,
+ ARGS_PARSE_COMMANDS_OR_STRING,
+ ARGS_PARSE_COMMANDS
+};
+
/* Arguments parsing state. */
-typedef enum args_type (*args_parse_cb)(struct args *, u_int);
+typedef enum args_parse_type (*args_parse_cb)(struct args *, u_int, char **);
struct args_parse {
const char *template;
int lower;
@@ -2201,7 +2209,7 @@ int tty_keys_next(struct tty *);
void args_set(struct args *, u_char, struct args_value *);
struct args *args_create(void);
struct args *args_parse(const struct args_parse *, struct args_value *,
- u_int);
+ u_int, char **);
void args_vector(struct args *, int *, char ***);
void args_free_value(struct args_value *);
void args_free(struct args *);