diff options
author | Thomas Adam <thomas@xteddy.org> | 2021-08-21 16:01:26 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2021-08-21 16:01:26 +0100 |
commit | 4d3367e9657002c4b68867c8d58e2f5b7ae90612 (patch) | |
tree | bedc8f8f2f55f7b444ac0427be0e7e0dd1ef6daa | |
parent | 62036121fa3f69a93031f90956e659e090d79a1f (diff) | |
parent | 68cacaec68ca8300e0ea439abdf9db16e74241bb (diff) | |
download | rtmux-4d3367e9657002c4b68867c8d58e2f5b7ae90612.tar.gz rtmux-4d3367e9657002c4b68867c8d58e2f5b7ae90612.tar.bz2 rtmux-4d3367e9657002c4b68867c8d58e2f5b7ae90612.zip |
Merge branch 'obsd-master' into master
-rw-r--r-- | cmd-parse.y | 2 | ||||
-rw-r--r-- | cmd.c | 24 | ||||
-rw-r--r-- | tmux.h | 1 |
3 files changed, 14 insertions, 13 deletions
diff --git a/cmd-parse.y b/cmd-parse.y index 6d1fec7e..458092b4 100644 --- a/cmd-parse.y +++ b/cmd-parse.y @@ -871,7 +871,7 @@ cmd_parse_build_commands(struct cmd_parse_commands *cmds, cmd_list_free(current); return; } - cmd_list_move(current, add); + cmd_list_append_all(current, add); cmd_list_free(add); } if (current != NULL) { @@ -221,10 +221,6 @@ struct cmd { char *file; u_int line; - char *alias; - int argc; - char **argv; - TAILQ_ENTRY(cmd) qentry; }; TAILQ_HEAD(cmds, cmd); @@ -529,10 +525,6 @@ cmd_parse(int argc, char **argv, const char *file, u_int line, char **cause) cmd->file = xstrdup(file); cmd->line = line; - cmd->alias = NULL; - cmd->argc = argc; - cmd->argv = cmd_copy_argv(argc, argv); - return (cmd); usage: @@ -546,9 +538,6 @@ usage: void cmd_free(struct cmd *cmd) { - free(cmd->alias); - cmd_free_argv(cmd->argc, cmd->argv); - free(cmd->file); args_free(cmd->args); @@ -593,7 +582,18 @@ cmd_list_append(struct cmd_list *cmdlist, struct cmd *cmd) TAILQ_INSERT_TAIL(cmdlist->list, cmd, qentry); } -/* Move all commands from one command list to another */ +/* Append all commands from one list to another. */ +void +cmd_list_append_all(struct cmd_list *cmdlist, struct cmd_list *from) +{ + struct cmd *cmd; + + TAILQ_FOREACH(cmd, from->list, qentry) + cmd->group = cmdlist->group; + TAILQ_CONCAT(cmdlist->list, from->list, qentry); +} + +/* Move all commands from one command list to another. */ void cmd_list_move(struct cmd_list *cmdlist, struct cmd_list *from) { @@ -2257,6 +2257,7 @@ void cmd_free(struct cmd *); char *cmd_print(struct cmd *); struct cmd_list *cmd_list_new(void); void cmd_list_append(struct cmd_list *, struct cmd *); +void cmd_list_append_all(struct cmd_list *, struct cmd_list *); void cmd_list_move(struct cmd_list *, struct cmd_list *); void cmd_list_free(struct cmd_list *); char *cmd_list_print(struct cmd_list *, int); |