Make multiplexer's "command not found" exit 127.
authorRob Landley <rob@landley.net>
Thu, 6 Aug 2015 12:37:23 +0000 (07:37 -0500)
committerRob Landley <rob@landley.net>
Thu, 6 Aug 2015 12:37:23 +0000 (07:37 -0500)
Somebody (carsonh on freenode) objected that they were running something
like "toybox test 1 == 2" and couldn't distinguish the test failing from
toybox not having the test command. Why they were running toybox out of
the multiplexer instead of having a test symlink in the $PATH, I couldn't
tell you. (Is "I know toybox is on this system, but don't know how it was
configured" a problem people actually have?)

*shrug* They care about it more than I do, so now you can't distinguish between
the multiplexer not being found and the command the multiplexer tried to
run not being found. Progress!

main.c

diff --git a/main.c b/main.c
index 8115559..0738a17 100644 (file)
--- a/main.c
+++ b/main.c
@@ -163,7 +163,10 @@ void toybox_main(void)
       xputs(TOYBOX_VERSION);
       xexit();
     }
-    if (toys.argv[1][0] != '-') error_exit("Unknown command %s", toys.argv[1]);
+    if (toys.argv[1][0] != '-') {
+      toys.exitval = 127;
+      error_exit("Unknown command %s", toys.argv[1]);
+    }
   }
 
   // Output list of command.