diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2008-06-29 07:04:31 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2008-06-29 07:04:31 +0000 |
commit | d90d646ca8e7ff6f97e9d11a2d746e217c7a3dcc (patch) | |
tree | e4830af4b33734b903a866103a01eebf83c2a1f1 /cmd-generic.c | |
parent | 09a4f6a62d6a2337fc0d801827385c2b13e691be (diff) | |
download | rtmux-d90d646ca8e7ff6f97e9d11a2d746e217c7a3dcc.tar.gz rtmux-d90d646ca8e7ff6f97e9d11a2d746e217c7a3dcc.tar.bz2 rtmux-d90d646ca8e7ff6f97e9d11a2d746e217c7a3dcc.zip |
Zombie windows, requested by Will Maier.
Diffstat (limited to 'cmd-generic.c')
-rw-r--r-- | cmd-generic.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/cmd-generic.c b/cmd-generic.c index 3ede0cf6..49bb14b2 100644 --- a/cmd-generic.c +++ b/cmd-generic.c @@ -1,4 +1,4 @@ -/* $Id: cmd-generic.c,v 1.11 2008-06-20 08:36:20 nicm Exp $ */ +/* $Id: cmd-generic.c,v 1.12 2008-06-29 07:04:30 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net> @@ -73,6 +73,13 @@ cmd_target_parse(struct cmd *self, int argc, char **argv, char **cause) if (argc != 1) goto usage; data->arg = xstrdup(argv[0]); + } else if (self->entry->flags & CMD_ZEROONEARG) { + if (argc == 0) + data->arg = NULL; + else if (argc == 1) + data->arg = xstrdup(argv[0]); + else + goto usage; } else { if (argc != 0) goto usage; @@ -192,6 +199,13 @@ cmd_srcdst_parse(struct cmd *self, int argc, char **argv, char **cause) if (argc != 1) goto usage; data->arg = xstrdup(argv[0]); + } else if (self->entry->flags & CMD_ZEROONEARG) { + if (argc == 0) + data->arg = NULL; + else if (argc == 1) + data->arg = xstrdup(argv[0]); + else + goto usage; } else { if (argc != 0) goto usage; @@ -325,6 +339,13 @@ cmd_buffer_parse(struct cmd *self, int argc, char **argv, char **cause) if (argc != 1) goto usage; data->arg = xstrdup(argv[0]); + } else if (self->entry->flags & CMD_ZEROONEARG) { + if (argc == 0) + data->arg = NULL; + else if (argc == 1) + data->arg = xstrdup(argv[0]); + else + goto usage; } else { if (argc != 0) goto usage; |