diff options
author | nicm <nicm> | 2019-05-25 07:18:20 +0000 |
---|---|---|
committer | nicm <nicm> | 2019-05-25 07:18:20 +0000 |
commit | f8d3d247d884a9dc0b23f2799944c15630cab28f (patch) | |
tree | 4d96106a16701c94bec7475d1fb2e188e207df80 /cmd-list.c | |
parent | 6b0fa14470df848ae0735a3e0bab393c241acb86 (diff) | |
download | rtmux-f8d3d247d884a9dc0b23f2799944c15630cab28f.tar.gz rtmux-f8d3d247d884a9dc0b23f2799944c15630cab28f.tar.bz2 rtmux-f8d3d247d884a9dc0b23f2799944c15630cab28f.zip |
Merge cmd_list_parse into cmd-parse.y so it can use the new alias
processing code.
Diffstat (limited to 'cmd-list.c')
-rw-r--r-- | cmd-list.c | 56 |
1 files changed, 0 insertions, 56 deletions
@@ -56,62 +56,6 @@ cmd_list_move(struct cmd_list *cmdlist, struct cmd_list *from) cmdlist->group = cmd_list_next_group++; } -struct cmd_list * -cmd_list_parse(int argc, char **argv, const char *file, u_int line, - char **cause) -{ - struct cmd_list *cmdlist; - struct cmd *cmd; - int i, lastsplit; - size_t arglen, new_argc; - char **copy_argv, **new_argv; - - copy_argv = cmd_copy_argv(argc, argv); - - cmdlist = cmd_list_new(); - - lastsplit = 0; - for (i = 0; i < argc; i++) { - arglen = strlen(copy_argv[i]); - if (arglen == 0 || copy_argv[i][arglen - 1] != ';') - continue; - copy_argv[i][arglen - 1] = '\0'; - - if (arglen > 1 && copy_argv[i][arglen - 2] == '\\') { - copy_argv[i][arglen - 2] = ';'; - continue; - } - - new_argc = i - lastsplit; - new_argv = copy_argv + lastsplit; - if (arglen != 1) - new_argc++; - - cmd = cmd_parse(new_argc, new_argv, file, line, cause); - if (cmd == NULL) - goto bad; - TAILQ_INSERT_TAIL(&cmdlist->list, cmd, qentry); - - lastsplit = i + 1; - } - - if (lastsplit != argc) { - cmd = cmd_parse(argc - lastsplit, copy_argv + lastsplit, - file, line, cause); - if (cmd == NULL) - goto bad; - TAILQ_INSERT_TAIL(&cmdlist->list, cmd, qentry); - } - - cmd_free_argv(argc, copy_argv); - return (cmdlist); - -bad: - cmd_list_free(cmdlist); - cmd_free_argv(argc, copy_argv); - return (NULL); -} - void cmd_list_free(struct cmd_list *cmdlist) { |