This patch, put together by Manuel Novoa III, is a merge of work
done by Evin Robertson (bug#1105) and work from Manuel to make
usage messages occupy less space and simplify how usage messages
are displayed.
diff --git a/busybox.c b/busybox.c
index 1409efa..6c1070f 100644
--- a/busybox.c
+++ b/busybox.c
@@ -87,7 +87,6 @@
 
 int main(int argc, char **argv)
 {
-	struct BB_applet *applet;
 	const char *s;
 
 	for (s = applet_name = argv[0]; *s != '\0';) {
@@ -103,13 +102,7 @@
 	}
 #endif
 
-	/* Do a binary search to find the applet entry given the name. */
-	if ((applet = find_applet_by_name(applet_name)) != NULL) {
-		if (applet->usage && argv[1] && strcmp(argv[1], "--help") == 0)
-			usage(applet->usage);
-		exit((*(applet->main)) (argc, argv));
-	}
-
+	run_applet_by_name(applet_name, argc, argv);
 	error_msg_and_die("applet not found");
 }