From 09ee264817b4331a02279a9a5c9af6f2e846c37f Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Wed, 8 May 2013 23:19:45 -0500 Subject: Add --help option to toybox command when TOYBOX_HELP is enabled. --- main.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/main.c b/main.c index ac49e9b6..b0b2bb21 100644 --- a/main.c +++ b/main.c @@ -99,8 +99,7 @@ void toy_exec(char *argv[]) { struct toy_list *which; - which = toy_find(argv[0]); - if (!which) return; + if (!(which = toy_find(argv[0]))) return; toy_init(which, argv); toys.which->toy_main(); if (fflush(NULL) || ferror(stdout)) perror_exit("write"); @@ -117,12 +116,21 @@ void toybox_main(void) toys.which = toy_list; if (toys.argv[1]) { - if (toys.argv[1][0]!='-') { + if (CFG_TOYBOX_HELP && !strcmp(toys.argv[1], "--help")) { + if (toys.argv[2]) toys.which = toy_find(toys.argv[2]); + if (toys.which) { + show_help(); + return; + } + } else { toy_exec(toys.argv+1); - error_exit("Unknown command %s",toys.argv[1]); + if (toys.argv[1][0] == '-') goto list; } + + error_exit("Unknown command %s",toys.argv[1]); } +list: // Output list of command. for (i=1; i