Output before: $collie vdi create test Please specify the VDI size Output after: $collie vdi create test Please specify the VDI size Usage: collie vdi create [-P] [-c copies] [-a address] [-p port] [-h] <vdiname> <size> Options: -P, --prealloc preallocate all the data objects -c, --copies specify the data redundancy (number of copies) -a, --address specify the daemon address (default: localhost) -p, --port specify the daemon port -h, --help display this help and exit
Signed-off-by: Kai Zhang <[email protected]> --- collie/collie.c | 5 ++++- collie/common.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/collie/collie.c b/collie/collie.c index 05031fd..574b93b 100644 --- a/collie/collie.c +++ b/collie/collie.c @@ -408,5 +408,8 @@ int main(int argc, char **argv) exit(EXIT_SYSFAIL); } - return command_fn(argc, argv); + ret = command_fn(argc, argv); + if (ret == EXIT_USAGE) + subcommand_usage(argv[1], argv[2], EXIT_USAGE); + return ret; } diff --git a/collie/common.c b/collie/common.c index 0646587..57d70e0 100644 --- a/collie/common.c +++ b/collie/common.c @@ -228,7 +228,10 @@ int do_generic_subcommand(struct subcommand *sub, int argc, char **argv) && argc != 5) subcommand_usage(argv[1], argv[2], EXIT_USAGE); optind++; - return sub[i].fn(argc, argv); + ret = sub[i].fn(argc, argv); + if (ret == EXIT_USAGE) + subcommand_usage(argv[1], argv[2], EXIT_USAGE); + return ret; } } -- 1.7.1 -- sheepdog mailing list [email protected] http://lists.wpkg.org/mailman/listinfo/sheepdog
