changeset 895:60a430b7791e

Add --help option to toybox command when TOYBOX_HELP is enabled.
author Rob Landley <rob@landley.net>
date Wed, 08 May 2013 23:19:45 -0500
parents 5dcfb58916a7
children 79855f5dc085
files main.c
diffstat 1 files changed, 12 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/main.c	Tue May 07 22:50:33 2013 -0500
+++ b/main.c	Wed May 08 23:19:45 2013 -0500
@@ -99,8 +99,7 @@
 {
   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 @@
 
   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<ARRAY_LEN(toy_list); i++) {
     int fl = toy_list[i].flags;