From 90dd474c3ea8bf10bde6ee15eaaf9f3af3fb46f6 Mon Sep 17 00:00:00 2001 From: nicm Date: Fri, 20 Aug 2021 18:59:53 +0000 Subject: Expose args_value struct (will be needed soon) and add some missing frees. --- tmux.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index 26f9dc3e..63ad9e86 100644 --- a/tmux.h +++ b/tmux.h @@ -37,7 +37,6 @@ extern char **environ; struct args; -struct args_value; struct client; struct cmd; struct cmd_find_state; @@ -1356,7 +1355,13 @@ struct message_entry { }; TAILQ_HEAD(message_list, message_entry); -/* Parsed arguments structures. */ +/* Argument value. */ +struct args_value { + char *value; + TAILQ_ENTRY(args_value) entry; +}; + +/* Arguments set. */ struct args_entry; RB_HEAD(args_tree, args_entry); struct args { @@ -2191,8 +2196,8 @@ int args_has(struct args *, u_char); const char *args_get(struct args *, u_char); u_char args_first(struct args *, struct args_entry **); u_char args_next(struct args_entry **); -const char *args_first_value(struct args *, u_char, struct args_value **); -const char *args_next_value(struct args_value **); +struct args_value *args_first_value(struct args *, u_char); +struct args_value *args_next_value(struct args_value *); long long args_strtonum(struct args *, u_char, long long, long long, char **); long long args_percentage(struct args *, u_char, long long, -- cgit From de94a344f61b0e4ef6459c11621be3c3d1683c9e Mon Sep 17 00:00:00 2001 From: nicm Date: Fri, 20 Aug 2021 19:34:51 +0000 Subject: Add a couple of const and fix some warnings. --- tmux.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index 63ad9e86..ae0ffc24 100644 --- a/tmux.h +++ b/tmux.h @@ -2236,8 +2236,8 @@ int cmd_find_from_nothing(struct cmd_find_state *, int); /* cmd.c */ extern const struct cmd_entry *cmd_table[]; void printflike(3, 4) cmd_log_argv(int, char **, const char *, ...); -void cmd_prepend_argv(int *, char ***, char *); -void cmd_append_argv(int *, char ***, char *); +void cmd_prepend_argv(int *, char ***, const char *); +void cmd_append_argv(int *, char ***, const char *); int cmd_pack_argv(int, char **, char *, size_t); int cmd_unpack_argv(char *, size_t, int, char ***); char **cmd_copy_argv(int, char **); -- cgit From 5f32b7d9613e9ef3f8198302379a42630323da6a Mon Sep 17 00:00:00 2001 From: nicm Date: Fri, 20 Aug 2021 19:50:16 +0000 Subject: Hide struct args behind a couple of accessor functions. --- tmux.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'tmux.h') diff --git a/tmux.h b/tmux.h index ae0ffc24..a28deb74 100644 --- a/tmux.h +++ b/tmux.h @@ -1364,11 +1364,6 @@ struct args_value { /* Arguments set. */ struct args_entry; RB_HEAD(args_tree, args_entry); -struct args { - struct args_tree tree; - int argc; - char **argv; -}; /* Command find structures. */ enum cmd_find_type { @@ -2188,7 +2183,8 @@ int tty_keys_next(struct tty *); /* arguments.c */ void args_set(struct args *, u_char, const char *); struct args *args_create(void); -struct args *args_parse(const char *, int, char **); +struct args *args_parse(const char *, int, char **, int, int); +void args_vector(struct args *, int *, char ***); void args_free(struct args *); char *args_print(struct args *); char *args_escape(const char *); @@ -2196,6 +2192,8 @@ int args_has(struct args *, u_char); const char *args_get(struct args *, u_char); u_char args_first(struct args *, struct args_entry **); u_char args_next(struct args_entry **); +u_int args_count(struct args *); +const char *args_string(struct args *, u_int); struct args_value *args_first_value(struct args *, u_char); struct args_value *args_next_value(struct args_value *); long long args_strtonum(struct args *, u_char, long long, long long, -- cgit