summaryrefslogtreecommitdiffstats
path: root/client.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-05-25 18:41:51 +0100
committerThomas Adam <thomas@xteddy.org>2019-05-25 18:41:51 +0100
commit463bd8abb9248c31214c951221c3cf96dbffb56e (patch)
treeea7bd85988b7dedd4bb24c72743e3b473f3c8fa7 /client.c
parenta69211aff5968f2bf71f0471cc67124dbd4597dd (diff)
parenta65a6d62d19136e20ce6e6ec72d676a334dcc914 (diff)
Merge branch 'obsd-master'
Diffstat (limited to 'client.c')
-rw-r--r--client.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/client.c b/client.c
index bb9fedf2..d137501a 100644
--- a/client.c
+++ b/client.c
@@ -215,14 +215,13 @@ client_exit_message(void)
int
client_main(struct event_base *base, int argc, char **argv, int flags)
{
+ struct cmd_parse_result *pr;
struct cmd *cmd;
- struct cmd_list *cmdlist;
struct msg_command_data *data;
int cmdflags, fd, i;
const char *ttynam, *cwd;
pid_t ppid;
enum msgtype msg;
- char *cause;
struct termios tio, saved_tio;
size_t size;
@@ -248,14 +247,15 @@ client_main(struct event_base *base, int argc, char **argv, int flags)
* later in server) but it is necessary to get the start server
* flag.
*/
- cmdlist = cmd_list_parse(argc, argv, NULL, 0, &cause);
- if (cmdlist != NULL) {
- TAILQ_FOREACH(cmd, &cmdlist->list, qentry) {
+ pr = cmd_parse_from_arguments(argc, argv, NULL);
+ if (pr->status == CMD_PARSE_SUCCESS) {
+ TAILQ_FOREACH(cmd, &pr->cmdlist->list, qentry) {
if (cmd->entry->flags & CMD_STARTSERVER)
cmdflags |= CMD_STARTSERVER;
}
- cmd_list_free(cmdlist);
- }
+ cmd_list_free(pr->cmdlist);
+ } else
+ free(pr->error);
}
/* Create client process structure (starts logging). */