Centralize handling of --help.

This commit is contained in:
Matt Kraai 2000-07-19 19:24:01 +00:00
parent 869057238b
commit 27a804246a
32 changed files with 221 additions and 312 deletions

View File

@ -37,325 +37,325 @@ void *__libc_stack_end;
const struct BB_applet applets[] = { const struct BB_applet applets[] = {
#ifdef BB_AR #ifdef BB_AR
{"ar", ar_main, _BB_DIR_USR_BIN}, {"ar", ar_main, _BB_DIR_USR_BIN, ar_usage},
#endif #endif
#ifdef BB_BASENAME #ifdef BB_BASENAME
{"basename", basename_main, _BB_DIR_USR_BIN}, {"basename", basename_main, _BB_DIR_USR_BIN, basename_usage},
#endif #endif
{"busybox", busybox_main, _BB_DIR_BIN}, {"busybox", busybox_main, _BB_DIR_BIN, NULL},
#ifdef BB_CAT #ifdef BB_CAT
{"cat", cat_main, _BB_DIR_BIN}, {"cat", cat_main, _BB_DIR_BIN, cat_usage},
#endif #endif
#ifdef BB_CHMOD_CHOWN_CHGRP #ifdef BB_CHMOD_CHOWN_CHGRP
{"chgrp", chmod_chown_chgrp_main, _BB_DIR_BIN}, {"chgrp", chmod_chown_chgrp_main, _BB_DIR_BIN, chgrp_usage},
#endif #endif
#ifdef BB_CHMOD_CHOWN_CHGRP #ifdef BB_CHMOD_CHOWN_CHGRP
{"chmod", chmod_chown_chgrp_main, _BB_DIR_BIN}, {"chmod", chmod_chown_chgrp_main, _BB_DIR_BIN, chmod_usage},
#endif #endif
#ifdef BB_CHMOD_CHOWN_CHGRP #ifdef BB_CHMOD_CHOWN_CHGRP
{"chown", chmod_chown_chgrp_main, _BB_DIR_BIN}, {"chown", chmod_chown_chgrp_main, _BB_DIR_BIN, chown_usage},
#endif #endif
#ifdef BB_CHROOT #ifdef BB_CHROOT
{"chroot", chroot_main, _BB_DIR_SBIN}, {"chroot", chroot_main, _BB_DIR_SBIN, chroot_usage},
#endif #endif
#ifdef BB_CLEAR #ifdef BB_CLEAR
{"clear", clear_main, _BB_DIR_USR_BIN}, {"clear", clear_main, _BB_DIR_USR_BIN, clear_usage},
#endif #endif
#ifdef BB_CHVT #ifdef BB_CHVT
{"chvt", chvt_main, _BB_DIR_USR_BIN}, {"chvt", chvt_main, _BB_DIR_USR_BIN, chvt_usage},
#endif #endif
#ifdef BB_CP_MV #ifdef BB_CP_MV
{"cp", cp_mv_main, _BB_DIR_BIN}, {"cp", cp_mv_main, _BB_DIR_BIN, cp_usage},
#endif #endif
#ifdef BB_CUT #ifdef BB_CUT
{"cut", cut_main, _BB_DIR_USR_BIN}, {"cut", cut_main, _BB_DIR_USR_BIN, cut_usage},
#endif #endif
#ifdef BB_DATE #ifdef BB_DATE
{"date", date_main, _BB_DIR_BIN}, {"date", date_main, _BB_DIR_BIN, date_usage},
#endif #endif
#ifdef BB_DC #ifdef BB_DC
{"dc", dc_main, _BB_DIR_USR_BIN}, {"dc", dc_main, _BB_DIR_USR_BIN, dc_usage},
#endif #endif
#ifdef BB_DD #ifdef BB_DD
{"dd", dd_main, _BB_DIR_BIN}, {"dd", dd_main, _BB_DIR_BIN, dd_usage},
#endif #endif
#ifdef BB_DF #ifdef BB_DF
{"df", df_main, _BB_DIR_BIN}, {"df", df_main, _BB_DIR_BIN, df_usage},
#endif #endif
#ifdef BB_DIRNAME #ifdef BB_DIRNAME
{"dirname", dirname_main, _BB_DIR_USR_BIN}, {"dirname", dirname_main, _BB_DIR_USR_BIN, dirname_usage},
#endif #endif
#ifdef BB_DMESG #ifdef BB_DMESG
{"dmesg", dmesg_main, _BB_DIR_BIN}, {"dmesg", dmesg_main, _BB_DIR_BIN, dmesg_usage},
#endif #endif
#ifdef BB_DU #ifdef BB_DU
{"du", du_main, _BB_DIR_BIN}, {"du", du_main, _BB_DIR_BIN, du_usage},
#endif #endif
#ifdef BB_DUMPKMAP #ifdef BB_DUMPKMAP
{"dumpkmap", dumpkmap_main, _BB_DIR_BIN}, {"dumpkmap", dumpkmap_main, _BB_DIR_BIN, dumpkmap_usage},
#endif #endif
#ifdef BB_DUTMP #ifdef BB_DUTMP
{"dutmp", dutmp_main, _BB_DIR_USR_SBIN}, {"dutmp", dutmp_main, _BB_DIR_USR_SBIN, dutmp_usage},
#endif #endif
#ifdef BB_ECHO #ifdef BB_ECHO
{"echo", echo_main, _BB_DIR_BIN}, {"echo", echo_main, _BB_DIR_BIN, echo_usage},
#endif #endif
#ifdef BB_TRUE_FALSE #ifdef BB_TRUE_FALSE
{"false", false_main, _BB_DIR_BIN}, {"false", false_main, _BB_DIR_BIN, false_usage},
#endif #endif
#ifdef BB_FBSET #ifdef BB_FBSET
{"fbset", fbset_main, _BB_DIR_USR_SBIN}, {"fbset", fbset_main, _BB_DIR_USR_SBIN, NULL},
#endif #endif
#ifdef BB_FDFLUSH #ifdef BB_FDFLUSH
{"fdflush", fdflush_main, _BB_DIR_BIN}, {"fdflush", fdflush_main, _BB_DIR_BIN, fdflush_usage},
#endif #endif
#ifdef BB_FIND #ifdef BB_FIND
{"find", find_main, _BB_DIR_USR_BIN}, {"find", find_main, _BB_DIR_USR_BIN, find_usage},
#endif #endif
#ifdef BB_FREE #ifdef BB_FREE
{"free", free_main, _BB_DIR_USR_BIN}, {"free", free_main, _BB_DIR_USR_BIN, free_usage},
#endif #endif
#ifdef BB_FREERAMDISK #ifdef BB_FREERAMDISK
{"freeramdisk", freeramdisk_main, _BB_DIR_SBIN}, {"freeramdisk", freeramdisk_main, _BB_DIR_SBIN, freeramdisk_usage},
#endif #endif
#ifdef BB_DEALLOCVT #ifdef BB_DEALLOCVT
{"deallocvt", deallocvt_main, _BB_DIR_USR_BIN}, {"deallocvt", deallocvt_main, _BB_DIR_USR_BIN, deallocvt_usage},
#endif #endif
#ifdef BB_FSCK_MINIX #ifdef BB_FSCK_MINIX
{"fsck.minix", fsck_minix_main, _BB_DIR_SBIN}, {"fsck.minix", fsck_minix_main, _BB_DIR_SBIN, fsck_minix_usage},
#endif #endif
#ifdef BB_GREP #ifdef BB_GREP
{"grep", grep_main, _BB_DIR_BIN}, {"grep", grep_main, _BB_DIR_BIN, grep_usage},
#endif #endif
#ifdef BB_GUNZIP #ifdef BB_GUNZIP
{"gunzip", gunzip_main, _BB_DIR_BIN}, {"gunzip", gunzip_main, _BB_DIR_BIN, gunzip_usage},
#endif #endif
#ifdef BB_GZIP #ifdef BB_GZIP
{"gzip", gzip_main, _BB_DIR_BIN}, {"gzip", gzip_main, _BB_DIR_BIN, gzip_usage},
#endif #endif
#ifdef BB_HALT #ifdef BB_HALT
{"halt", halt_main, _BB_DIR_SBIN}, {"halt", halt_main, _BB_DIR_SBIN, halt_usage},
#endif #endif
#ifdef BB_HEAD #ifdef BB_HEAD
{"head", head_main, _BB_DIR_USR_BIN}, {"head", head_main, _BB_DIR_USR_BIN, head_usage},
#endif #endif
#ifdef BB_HOSTID #ifdef BB_HOSTID
{"hostid", hostid_main, _BB_DIR_USR_BIN}, {"hostid", hostid_main, _BB_DIR_USR_BIN, hostid_usage},
#endif #endif
#ifdef BB_HOSTNAME #ifdef BB_HOSTNAME
{"hostname", hostname_main, _BB_DIR_BIN}, {"hostname", hostname_main, _BB_DIR_BIN, hostname_usage},
#endif #endif
#ifdef BB_ID #ifdef BB_ID
{"id", id_main, _BB_DIR_USR_BIN}, {"id", id_main, _BB_DIR_USR_BIN, id_usage},
#endif #endif
#ifdef BB_INIT #ifdef BB_INIT
{"init", init_main, _BB_DIR_SBIN}, {"init", init_main, _BB_DIR_SBIN, NULL},
#endif #endif
#ifdef BB_INSMOD #ifdef BB_INSMOD
{"insmod", insmod_main, _BB_DIR_SBIN}, {"insmod", insmod_main, _BB_DIR_SBIN, insmod_usage},
#endif #endif
#ifdef BB_KILL #ifdef BB_KILL
{"kill", kill_main, _BB_DIR_BIN}, {"kill", kill_main, _BB_DIR_BIN, kill_usage},
#endif #endif
#ifdef BB_KILLALL #ifdef BB_KILLALL
{"killall", kill_main, _BB_DIR_USR_BIN}, {"killall", kill_main, _BB_DIR_USR_BIN, kill_usage},
#endif #endif
#ifdef BB_LENGTH #ifdef BB_LENGTH
{"length", length_main, _BB_DIR_USR_BIN}, {"length", length_main, _BB_DIR_USR_BIN, length_usage},
#endif #endif
#ifdef BB_LINUXRC #ifdef BB_LINUXRC
{"linuxrc", init_main, _BB_DIR_ROOT}, {"linuxrc", init_main, _BB_DIR_ROOT, init_usage},
#endif #endif
#ifdef BB_LN #ifdef BB_LN
{"ln", ln_main, _BB_DIR_BIN}, {"ln", ln_main, _BB_DIR_BIN, ln_usage},
#endif #endif
#ifdef BB_LOADACM #ifdef BB_LOADACM
{"loadacm", loadacm_main, _BB_DIR_USR_BIN}, {"loadacm", loadacm_main, _BB_DIR_USR_BIN, loadacm_usage},
#endif #endif
#ifdef BB_LOADFONT #ifdef BB_LOADFONT
{"loadfont", loadfont_main, _BB_DIR_USR_BIN}, {"loadfont", loadfont_main, _BB_DIR_USR_BIN, loadfont_usage},
#endif #endif
#ifdef BB_LOADKMAP #ifdef BB_LOADKMAP
{"loadkmap", loadkmap_main, _BB_DIR_SBIN}, {"loadkmap", loadkmap_main, _BB_DIR_SBIN, loadkmap_usage},
#endif #endif
#ifdef BB_LOGGER #ifdef BB_LOGGER
{"logger", logger_main, _BB_DIR_USR_BIN}, {"logger", logger_main, _BB_DIR_USR_BIN, logger_usage},
#endif #endif
#ifdef BB_LOGNAME #ifdef BB_LOGNAME
{"logname", logname_main, _BB_DIR_USR_BIN}, {"logname", logname_main, _BB_DIR_USR_BIN, logname_usage},
#endif #endif
#ifdef BB_LS #ifdef BB_LS
{"ls", ls_main, _BB_DIR_BIN}, {"ls", ls_main, _BB_DIR_BIN, ls_usage},
#endif #endif
#ifdef BB_LSMOD #ifdef BB_LSMOD
{"lsmod", lsmod_main, _BB_DIR_SBIN}, {"lsmod", lsmod_main, _BB_DIR_SBIN, lsmod_usage},
#endif #endif
#ifdef BB_MAKEDEVS #ifdef BB_MAKEDEVS
{"makedevs", makedevs_main, _BB_DIR_SBIN}, {"makedevs", makedevs_main, _BB_DIR_SBIN, makedevs_usage},
#endif #endif
#ifdef BB_MD5SUM #ifdef BB_MD5SUM
{"md5sum", md5sum_main, _BB_DIR_USR_BIN}, {"md5sum", md5sum_main, _BB_DIR_USR_BIN, md5sum_usage},
#endif #endif
#ifdef BB_MKDIR #ifdef BB_MKDIR
{"mkdir", mkdir_main, _BB_DIR_BIN}, {"mkdir", mkdir_main, _BB_DIR_BIN, mkdir_usage},
#endif #endif
#ifdef BB_MKFIFO #ifdef BB_MKFIFO
{"mkfifo", mkfifo_main, _BB_DIR_USR_BIN}, {"mkfifo", mkfifo_main, _BB_DIR_USR_BIN, mkfifo_usage},
#endif #endif
#ifdef BB_MKFS_MINIX #ifdef BB_MKFS_MINIX
{"mkfs.minix", mkfs_minix_main, _BB_DIR_SBIN}, {"mkfs.minix", mkfs_minix_main, _BB_DIR_SBIN, mkfs_minix_usage},
#endif #endif
#ifdef BB_MKNOD #ifdef BB_MKNOD
{"mknod", mknod_main, _BB_DIR_BIN}, {"mknod", mknod_main, _BB_DIR_BIN, mknod_usage},
#endif #endif
#ifdef BB_MKSWAP #ifdef BB_MKSWAP
{"mkswap", mkswap_main, _BB_DIR_SBIN}, {"mkswap", mkswap_main, _BB_DIR_SBIN, mkswap_usage},
#endif #endif
#ifdef BB_MKTEMP #ifdef BB_MKTEMP
{"mktemp", mktemp_main, _BB_DIR_BIN}, {"mktemp", mktemp_main, _BB_DIR_BIN, mktemp_usage},
#endif #endif
#ifdef BB_NC #ifdef BB_NC
{"nc", nc_main, _BB_DIR_USR_BIN}, {"nc", nc_main, _BB_DIR_USR_BIN, nc_usage},
#endif #endif
#ifdef BB_MORE #ifdef BB_MORE
{"more", more_main, _BB_DIR_BIN}, {"more", more_main, _BB_DIR_BIN, more_usage},
#endif #endif
#ifdef BB_MOUNT #ifdef BB_MOUNT
{"mount", mount_main, _BB_DIR_BIN}, {"mount", mount_main, _BB_DIR_BIN, mount_usage},
#endif #endif
#ifdef BB_MT #ifdef BB_MT
{"mt", mt_main, _BB_DIR_BIN}, {"mt", mt_main, _BB_DIR_BIN, mt_usage},
#endif #endif
#ifdef BB_CP_MV #ifdef BB_CP_MV
{"mv", cp_mv_main, _BB_DIR_BIN}, {"mv", cp_mv_main, _BB_DIR_BIN, mv_usage},
#endif #endif
#ifdef BB_NSLOOKUP #ifdef BB_NSLOOKUP
{"nslookup", nslookup_main, _BB_DIR_USR_BIN}, {"nslookup", nslookup_main, _BB_DIR_USR_BIN, nslookup_usage},
#endif #endif
#ifdef BB_PING #ifdef BB_PING
{"ping", ping_main, _BB_DIR_BIN}, {"ping", ping_main, _BB_DIR_BIN, ping_usage},
#endif #endif
#ifdef BB_POWEROFF #ifdef BB_POWEROFF
{"poweroff", poweroff_main, _BB_DIR_SBIN}, {"poweroff", poweroff_main, _BB_DIR_SBIN, poweroff_usage},
#endif #endif
#ifdef BB_PRINTF #ifdef BB_PRINTF
{"printf", printf_main, _BB_DIR_USR_BIN}, {"printf", printf_main, _BB_DIR_USR_BIN, printf_usage},
#endif #endif
#ifdef BB_PS #ifdef BB_PS
{"ps", ps_main, _BB_DIR_BIN}, {"ps", ps_main, _BB_DIR_BIN, ps_usage},
#endif #endif
#ifdef BB_PWD #ifdef BB_PWD
{"pwd", pwd_main, _BB_DIR_BIN}, {"pwd", pwd_main, _BB_DIR_BIN, pwd_usage},
#endif #endif
#ifdef BB_REBOOT #ifdef BB_REBOOT
{"reboot", reboot_main, _BB_DIR_SBIN}, {"reboot", reboot_main, _BB_DIR_SBIN, reboot_usage},
#endif #endif
#ifdef BB_RM #ifdef BB_RM
{"rm", rm_main, _BB_DIR_BIN}, {"rm", rm_main, _BB_DIR_BIN, rm_usage},
#endif #endif
#ifdef BB_RMDIR #ifdef BB_RMDIR
{"rmdir", rmdir_main, _BB_DIR_BIN}, {"rmdir", rmdir_main, _BB_DIR_BIN, rmdir_usage},
#endif #endif
#ifdef BB_RMMOD #ifdef BB_RMMOD
{"rmmod", rmmod_main, _BB_DIR_SBIN}, {"rmmod", rmmod_main, _BB_DIR_SBIN, rmmod_usage},
#endif #endif
#ifdef BB_SED #ifdef BB_SED
{"sed", sed_main, _BB_DIR_BIN}, {"sed", sed_main, _BB_DIR_BIN, sed_usage},
#endif #endif
#ifdef BB_SETKEYCODES #ifdef BB_SETKEYCODES
{"setkeycodes", setkeycodes_main, _BB_DIR_USR_BIN}, {"setkeycodes", setkeycodes_main, _BB_DIR_USR_BIN, setkeycodes_usage},
#endif #endif
#ifdef BB_SH #ifdef BB_SH
{"sh", shell_main, _BB_DIR_BIN}, {"sh", shell_main, _BB_DIR_BIN, shell_usage},
#endif #endif
#ifdef BB_SLEEP #ifdef BB_SLEEP
{"sleep", sleep_main, _BB_DIR_BIN}, {"sleep", sleep_main, _BB_DIR_BIN, sleep_usage},
#endif #endif
#ifdef BB_SORT #ifdef BB_SORT
{"sort", sort_main, _BB_DIR_BIN}, {"sort", sort_main, _BB_DIR_BIN, sort_usage},
#endif #endif
#ifdef BB_SYNC #ifdef BB_SYNC
{"sync", sync_main, _BB_DIR_BIN}, {"sync", sync_main, _BB_DIR_BIN, sync_usage},
#endif #endif
#ifdef BB_SYSLOGD #ifdef BB_SYSLOGD
{"syslogd", syslogd_main, _BB_DIR_SBIN}, {"syslogd", syslogd_main, _BB_DIR_SBIN, syslogd_usage},
#endif #endif
#ifdef BB_SWAPONOFF #ifdef BB_SWAPONOFF
{"swapon", swap_on_off_main, _BB_DIR_SBIN}, {"swapon", swap_on_off_main, _BB_DIR_SBIN, swapon_usage},
#endif #endif
#ifdef BB_SWAPONOFF #ifdef BB_SWAPONOFF
{"swapoff", swap_on_off_main, _BB_DIR_SBIN}, {"swapoff", swap_on_off_main, _BB_DIR_SBIN, swapoff_usage},
#endif #endif
#ifdef BB_TAIL #ifdef BB_TAIL
{"tail", tail_main, _BB_DIR_USR_BIN}, {"tail", tail_main, _BB_DIR_USR_BIN, tail_usage},
#endif #endif
#ifdef BB_TAR #ifdef BB_TAR
{"tar", tar_main, _BB_DIR_BIN}, {"tar", tar_main, _BB_DIR_BIN, tar_usage},
#endif #endif
#ifdef BB_TELNET #ifdef BB_TELNET
{"telnet", telnet_main, _BB_DIR_USR_BIN}, {"telnet", telnet_main, _BB_DIR_USR_BIN, telnet_usage},
#endif #endif
#ifdef BB_TEST #ifdef BB_TEST
{"test", test_main, _BB_DIR_USR_BIN}, {"test", test_main, _BB_DIR_USR_BIN, test_usage},
#endif #endif
#ifdef BB_TEE #ifdef BB_TEE
{"tee", tee_main, _BB_DIR_BIN}, {"tee", tee_main, _BB_DIR_BIN, tee_usage},
#endif #endif
#ifdef BB_TOUCH #ifdef BB_TOUCH
{"touch", touch_main, _BB_DIR_USR_BIN}, {"touch", touch_main, _BB_DIR_USR_BIN, touch_usage},
#endif #endif
#ifdef BB_TR #ifdef BB_TR
{"tr", tr_main, _BB_DIR_USR_BIN}, {"tr", tr_main, _BB_DIR_USR_BIN, tr_usage},
#endif #endif
#ifdef BB_TRUE_FALSE #ifdef BB_TRUE_FALSE
{"true", true_main, _BB_DIR_BIN}, {"true", true_main, _BB_DIR_BIN, true_usage},
#endif #endif
#ifdef BB_TTY #ifdef BB_TTY
{"tty", tty_main, _BB_DIR_USR_BIN}, {"tty", tty_main, _BB_DIR_USR_BIN, tty_usage},
#endif #endif
#ifdef BB_UMOUNT #ifdef BB_UMOUNT
{"umount", umount_main, _BB_DIR_BIN}, {"umount", umount_main, _BB_DIR_BIN, umount_usage},
#endif #endif
#ifdef BB_UNAME #ifdef BB_UNAME
{"uname", uname_main, _BB_DIR_BIN}, {"uname", uname_main, _BB_DIR_BIN, uname_usage},
#endif #endif
#ifdef BB_UNIQ #ifdef BB_UNIQ
{"uniq", uniq_main, _BB_DIR_USR_BIN}, {"uniq", uniq_main, _BB_DIR_USR_BIN, uniq_usage},
#endif #endif
#ifdef BB_UPDATE #ifdef BB_UPDATE
{"update", update_main, _BB_DIR_SBIN}, {"update", update_main, _BB_DIR_SBIN, update_usage},
#endif #endif
#ifdef BB_UPTIME #ifdef BB_UPTIME
{"uptime", uptime_main, _BB_DIR_USR_BIN}, {"uptime", uptime_main, _BB_DIR_USR_BIN, uptime_usage},
#endif #endif
#ifdef BB_UUENCODE #ifdef BB_UUENCODE
{"uuencode", uuencode_main, _BB_DIR_USR_BIN}, {"uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage},
#endif #endif
#ifdef BB_UUDECODE #ifdef BB_UUDECODE
{"uudecode", uudecode_main, _BB_DIR_USR_BIN}, {"uudecode", uudecode_main, _BB_DIR_USR_BIN, uudecode_usage},
#endif #endif
#ifdef BB_USLEEP #ifdef BB_USLEEP
{"usleep", usleep_main, _BB_DIR_BIN}, {"usleep", usleep_main, _BB_DIR_BIN, usleep_usage},
#endif #endif
#ifdef BB_WC #ifdef BB_WC
{"wc", wc_main, _BB_DIR_USR_BIN}, {"wc", wc_main, _BB_DIR_USR_BIN, wc_usage},
#endif #endif
#ifdef BB_WHICH #ifdef BB_WHICH
{"which", which_main, _BB_DIR_USR_BIN}, {"which", which_main, _BB_DIR_USR_BIN, which_usage},
#endif #endif
#ifdef BB_WHOAMI #ifdef BB_WHOAMI
{"whoami", whoami_main, _BB_DIR_USR_BIN}, {"whoami", whoami_main, _BB_DIR_USR_BIN, whoami_usage},
#endif #endif
#ifdef BB_YES #ifdef BB_YES
{"yes", yes_main, _BB_DIR_USR_BIN}, {"yes", yes_main, _BB_DIR_USR_BIN, yes_usage},
#endif #endif
#ifdef BB_GUNZIP #ifdef BB_GUNZIP
{"zcat", gunzip_main, _BB_DIR_BIN}, {"zcat", gunzip_main, _BB_DIR_BIN, gunzip_usage},
#endif #endif
#ifdef BB_TEST #ifdef BB_TEST
{"[", test_main, _BB_DIR_USR_BIN}, {"[", test_main, _BB_DIR_USR_BIN, test_usage},
#endif #endif
{0,NULL,0} {0,NULL,0,NULL}
}; };
char *applet_name; char *applet_name;
@ -490,6 +490,8 @@ int main(int argc, char **argv)
while (a->name != 0) { while (a->name != 0) {
if (strcmp(applet_name, a->name) == 0) { if (strcmp(applet_name, a->name) == 0) {
if (a->usage && argv[1] && strcmp(argv[1], "--help") == 0)
usage(a->usage);
exit(((*(a->main)) (argc, argv))); exit(((*(a->main)) (argc, argv)));
} }
a++; a++;

218
busybox.c
View File

@ -37,325 +37,325 @@ void *__libc_stack_end;
const struct BB_applet applets[] = { const struct BB_applet applets[] = {
#ifdef BB_AR #ifdef BB_AR
{"ar", ar_main, _BB_DIR_USR_BIN}, {"ar", ar_main, _BB_DIR_USR_BIN, ar_usage},
#endif #endif
#ifdef BB_BASENAME #ifdef BB_BASENAME
{"basename", basename_main, _BB_DIR_USR_BIN}, {"basename", basename_main, _BB_DIR_USR_BIN, basename_usage},
#endif #endif
{"busybox", busybox_main, _BB_DIR_BIN}, {"busybox", busybox_main, _BB_DIR_BIN, NULL},
#ifdef BB_CAT #ifdef BB_CAT
{"cat", cat_main, _BB_DIR_BIN}, {"cat", cat_main, _BB_DIR_BIN, cat_usage},
#endif #endif
#ifdef BB_CHMOD_CHOWN_CHGRP #ifdef BB_CHMOD_CHOWN_CHGRP
{"chgrp", chmod_chown_chgrp_main, _BB_DIR_BIN}, {"chgrp", chmod_chown_chgrp_main, _BB_DIR_BIN, chgrp_usage},
#endif #endif
#ifdef BB_CHMOD_CHOWN_CHGRP #ifdef BB_CHMOD_CHOWN_CHGRP
{"chmod", chmod_chown_chgrp_main, _BB_DIR_BIN}, {"chmod", chmod_chown_chgrp_main, _BB_DIR_BIN, chmod_usage},
#endif #endif
#ifdef BB_CHMOD_CHOWN_CHGRP #ifdef BB_CHMOD_CHOWN_CHGRP
{"chown", chmod_chown_chgrp_main, _BB_DIR_BIN}, {"chown", chmod_chown_chgrp_main, _BB_DIR_BIN, chown_usage},
#endif #endif
#ifdef BB_CHROOT #ifdef BB_CHROOT
{"chroot", chroot_main, _BB_DIR_SBIN}, {"chroot", chroot_main, _BB_DIR_SBIN, chroot_usage},
#endif #endif
#ifdef BB_CLEAR #ifdef BB_CLEAR
{"clear", clear_main, _BB_DIR_USR_BIN}, {"clear", clear_main, _BB_DIR_USR_BIN, clear_usage},
#endif #endif
#ifdef BB_CHVT #ifdef BB_CHVT
{"chvt", chvt_main, _BB_DIR_USR_BIN}, {"chvt", chvt_main, _BB_DIR_USR_BIN, chvt_usage},
#endif #endif
#ifdef BB_CP_MV #ifdef BB_CP_MV
{"cp", cp_mv_main, _BB_DIR_BIN}, {"cp", cp_mv_main, _BB_DIR_BIN, cp_usage},
#endif #endif
#ifdef BB_CUT #ifdef BB_CUT
{"cut", cut_main, _BB_DIR_USR_BIN}, {"cut", cut_main, _BB_DIR_USR_BIN, cut_usage},
#endif #endif
#ifdef BB_DATE #ifdef BB_DATE
{"date", date_main, _BB_DIR_BIN}, {"date", date_main, _BB_DIR_BIN, date_usage},
#endif #endif
#ifdef BB_DC #ifdef BB_DC
{"dc", dc_main, _BB_DIR_USR_BIN}, {"dc", dc_main, _BB_DIR_USR_BIN, dc_usage},
#endif #endif
#ifdef BB_DD #ifdef BB_DD
{"dd", dd_main, _BB_DIR_BIN}, {"dd", dd_main, _BB_DIR_BIN, dd_usage},
#endif #endif
#ifdef BB_DF #ifdef BB_DF
{"df", df_main, _BB_DIR_BIN}, {"df", df_main, _BB_DIR_BIN, df_usage},
#endif #endif
#ifdef BB_DIRNAME #ifdef BB_DIRNAME
{"dirname", dirname_main, _BB_DIR_USR_BIN}, {"dirname", dirname_main, _BB_DIR_USR_BIN, dirname_usage},
#endif #endif
#ifdef BB_DMESG #ifdef BB_DMESG
{"dmesg", dmesg_main, _BB_DIR_BIN}, {"dmesg", dmesg_main, _BB_DIR_BIN, dmesg_usage},
#endif #endif
#ifdef BB_DU #ifdef BB_DU
{"du", du_main, _BB_DIR_BIN}, {"du", du_main, _BB_DIR_BIN, du_usage},
#endif #endif
#ifdef BB_DUMPKMAP #ifdef BB_DUMPKMAP
{"dumpkmap", dumpkmap_main, _BB_DIR_BIN}, {"dumpkmap", dumpkmap_main, _BB_DIR_BIN, dumpkmap_usage},
#endif #endif
#ifdef BB_DUTMP #ifdef BB_DUTMP
{"dutmp", dutmp_main, _BB_DIR_USR_SBIN}, {"dutmp", dutmp_main, _BB_DIR_USR_SBIN, dutmp_usage},
#endif #endif
#ifdef BB_ECHO #ifdef BB_ECHO
{"echo", echo_main, _BB_DIR_BIN}, {"echo", echo_main, _BB_DIR_BIN, echo_usage},
#endif #endif
#ifdef BB_TRUE_FALSE #ifdef BB_TRUE_FALSE
{"false", false_main, _BB_DIR_BIN}, {"false", false_main, _BB_DIR_BIN, false_usage},
#endif #endif
#ifdef BB_FBSET #ifdef BB_FBSET
{"fbset", fbset_main, _BB_DIR_USR_SBIN}, {"fbset", fbset_main, _BB_DIR_USR_SBIN, NULL},
#endif #endif
#ifdef BB_FDFLUSH #ifdef BB_FDFLUSH
{"fdflush", fdflush_main, _BB_DIR_BIN}, {"fdflush", fdflush_main, _BB_DIR_BIN, fdflush_usage},
#endif #endif
#ifdef BB_FIND #ifdef BB_FIND
{"find", find_main, _BB_DIR_USR_BIN}, {"find", find_main, _BB_DIR_USR_BIN, find_usage},
#endif #endif
#ifdef BB_FREE #ifdef BB_FREE
{"free", free_main, _BB_DIR_USR_BIN}, {"free", free_main, _BB_DIR_USR_BIN, free_usage},
#endif #endif
#ifdef BB_FREERAMDISK #ifdef BB_FREERAMDISK
{"freeramdisk", freeramdisk_main, _BB_DIR_SBIN}, {"freeramdisk", freeramdisk_main, _BB_DIR_SBIN, freeramdisk_usage},
#endif #endif
#ifdef BB_DEALLOCVT #ifdef BB_DEALLOCVT
{"deallocvt", deallocvt_main, _BB_DIR_USR_BIN}, {"deallocvt", deallocvt_main, _BB_DIR_USR_BIN, deallocvt_usage},
#endif #endif
#ifdef BB_FSCK_MINIX #ifdef BB_FSCK_MINIX
{"fsck.minix", fsck_minix_main, _BB_DIR_SBIN}, {"fsck.minix", fsck_minix_main, _BB_DIR_SBIN, fsck_minix_usage},
#endif #endif
#ifdef BB_GREP #ifdef BB_GREP
{"grep", grep_main, _BB_DIR_BIN}, {"grep", grep_main, _BB_DIR_BIN, grep_usage},
#endif #endif
#ifdef BB_GUNZIP #ifdef BB_GUNZIP
{"gunzip", gunzip_main, _BB_DIR_BIN}, {"gunzip", gunzip_main, _BB_DIR_BIN, gunzip_usage},
#endif #endif
#ifdef BB_GZIP #ifdef BB_GZIP
{"gzip", gzip_main, _BB_DIR_BIN}, {"gzip", gzip_main, _BB_DIR_BIN, gzip_usage},
#endif #endif
#ifdef BB_HALT #ifdef BB_HALT
{"halt", halt_main, _BB_DIR_SBIN}, {"halt", halt_main, _BB_DIR_SBIN, halt_usage},
#endif #endif
#ifdef BB_HEAD #ifdef BB_HEAD
{"head", head_main, _BB_DIR_USR_BIN}, {"head", head_main, _BB_DIR_USR_BIN, head_usage},
#endif #endif
#ifdef BB_HOSTID #ifdef BB_HOSTID
{"hostid", hostid_main, _BB_DIR_USR_BIN}, {"hostid", hostid_main, _BB_DIR_USR_BIN, hostid_usage},
#endif #endif
#ifdef BB_HOSTNAME #ifdef BB_HOSTNAME
{"hostname", hostname_main, _BB_DIR_BIN}, {"hostname", hostname_main, _BB_DIR_BIN, hostname_usage},
#endif #endif
#ifdef BB_ID #ifdef BB_ID
{"id", id_main, _BB_DIR_USR_BIN}, {"id", id_main, _BB_DIR_USR_BIN, id_usage},
#endif #endif
#ifdef BB_INIT #ifdef BB_INIT
{"init", init_main, _BB_DIR_SBIN}, {"init", init_main, _BB_DIR_SBIN, NULL},
#endif #endif
#ifdef BB_INSMOD #ifdef BB_INSMOD
{"insmod", insmod_main, _BB_DIR_SBIN}, {"insmod", insmod_main, _BB_DIR_SBIN, insmod_usage},
#endif #endif
#ifdef BB_KILL #ifdef BB_KILL
{"kill", kill_main, _BB_DIR_BIN}, {"kill", kill_main, _BB_DIR_BIN, kill_usage},
#endif #endif
#ifdef BB_KILLALL #ifdef BB_KILLALL
{"killall", kill_main, _BB_DIR_USR_BIN}, {"killall", kill_main, _BB_DIR_USR_BIN, kill_usage},
#endif #endif
#ifdef BB_LENGTH #ifdef BB_LENGTH
{"length", length_main, _BB_DIR_USR_BIN}, {"length", length_main, _BB_DIR_USR_BIN, length_usage},
#endif #endif
#ifdef BB_LINUXRC #ifdef BB_LINUXRC
{"linuxrc", init_main, _BB_DIR_ROOT}, {"linuxrc", init_main, _BB_DIR_ROOT, init_usage},
#endif #endif
#ifdef BB_LN #ifdef BB_LN
{"ln", ln_main, _BB_DIR_BIN}, {"ln", ln_main, _BB_DIR_BIN, ln_usage},
#endif #endif
#ifdef BB_LOADACM #ifdef BB_LOADACM
{"loadacm", loadacm_main, _BB_DIR_USR_BIN}, {"loadacm", loadacm_main, _BB_DIR_USR_BIN, loadacm_usage},
#endif #endif
#ifdef BB_LOADFONT #ifdef BB_LOADFONT
{"loadfont", loadfont_main, _BB_DIR_USR_BIN}, {"loadfont", loadfont_main, _BB_DIR_USR_BIN, loadfont_usage},
#endif #endif
#ifdef BB_LOADKMAP #ifdef BB_LOADKMAP
{"loadkmap", loadkmap_main, _BB_DIR_SBIN}, {"loadkmap", loadkmap_main, _BB_DIR_SBIN, loadkmap_usage},
#endif #endif
#ifdef BB_LOGGER #ifdef BB_LOGGER
{"logger", logger_main, _BB_DIR_USR_BIN}, {"logger", logger_main, _BB_DIR_USR_BIN, logger_usage},
#endif #endif
#ifdef BB_LOGNAME #ifdef BB_LOGNAME
{"logname", logname_main, _BB_DIR_USR_BIN}, {"logname", logname_main, _BB_DIR_USR_BIN, logname_usage},
#endif #endif
#ifdef BB_LS #ifdef BB_LS
{"ls", ls_main, _BB_DIR_BIN}, {"ls", ls_main, _BB_DIR_BIN, ls_usage},
#endif #endif
#ifdef BB_LSMOD #ifdef BB_LSMOD
{"lsmod", lsmod_main, _BB_DIR_SBIN}, {"lsmod", lsmod_main, _BB_DIR_SBIN, lsmod_usage},
#endif #endif
#ifdef BB_MAKEDEVS #ifdef BB_MAKEDEVS
{"makedevs", makedevs_main, _BB_DIR_SBIN}, {"makedevs", makedevs_main, _BB_DIR_SBIN, makedevs_usage},
#endif #endif
#ifdef BB_MD5SUM #ifdef BB_MD5SUM
{"md5sum", md5sum_main, _BB_DIR_USR_BIN}, {"md5sum", md5sum_main, _BB_DIR_USR_BIN, md5sum_usage},
#endif #endif
#ifdef BB_MKDIR #ifdef BB_MKDIR
{"mkdir", mkdir_main, _BB_DIR_BIN}, {"mkdir", mkdir_main, _BB_DIR_BIN, mkdir_usage},
#endif #endif
#ifdef BB_MKFIFO #ifdef BB_MKFIFO
{"mkfifo", mkfifo_main, _BB_DIR_USR_BIN}, {"mkfifo", mkfifo_main, _BB_DIR_USR_BIN, mkfifo_usage},
#endif #endif
#ifdef BB_MKFS_MINIX #ifdef BB_MKFS_MINIX
{"mkfs.minix", mkfs_minix_main, _BB_DIR_SBIN}, {"mkfs.minix", mkfs_minix_main, _BB_DIR_SBIN, mkfs_minix_usage},
#endif #endif
#ifdef BB_MKNOD #ifdef BB_MKNOD
{"mknod", mknod_main, _BB_DIR_BIN}, {"mknod", mknod_main, _BB_DIR_BIN, mknod_usage},
#endif #endif
#ifdef BB_MKSWAP #ifdef BB_MKSWAP
{"mkswap", mkswap_main, _BB_DIR_SBIN}, {"mkswap", mkswap_main, _BB_DIR_SBIN, mkswap_usage},
#endif #endif
#ifdef BB_MKTEMP #ifdef BB_MKTEMP
{"mktemp", mktemp_main, _BB_DIR_BIN}, {"mktemp", mktemp_main, _BB_DIR_BIN, mktemp_usage},
#endif #endif
#ifdef BB_NC #ifdef BB_NC
{"nc", nc_main, _BB_DIR_USR_BIN}, {"nc", nc_main, _BB_DIR_USR_BIN, nc_usage},
#endif #endif
#ifdef BB_MORE #ifdef BB_MORE
{"more", more_main, _BB_DIR_BIN}, {"more", more_main, _BB_DIR_BIN, more_usage},
#endif #endif
#ifdef BB_MOUNT #ifdef BB_MOUNT
{"mount", mount_main, _BB_DIR_BIN}, {"mount", mount_main, _BB_DIR_BIN, mount_usage},
#endif #endif
#ifdef BB_MT #ifdef BB_MT
{"mt", mt_main, _BB_DIR_BIN}, {"mt", mt_main, _BB_DIR_BIN, mt_usage},
#endif #endif
#ifdef BB_CP_MV #ifdef BB_CP_MV
{"mv", cp_mv_main, _BB_DIR_BIN}, {"mv", cp_mv_main, _BB_DIR_BIN, mv_usage},
#endif #endif
#ifdef BB_NSLOOKUP #ifdef BB_NSLOOKUP
{"nslookup", nslookup_main, _BB_DIR_USR_BIN}, {"nslookup", nslookup_main, _BB_DIR_USR_BIN, nslookup_usage},
#endif #endif
#ifdef BB_PING #ifdef BB_PING
{"ping", ping_main, _BB_DIR_BIN}, {"ping", ping_main, _BB_DIR_BIN, ping_usage},
#endif #endif
#ifdef BB_POWEROFF #ifdef BB_POWEROFF
{"poweroff", poweroff_main, _BB_DIR_SBIN}, {"poweroff", poweroff_main, _BB_DIR_SBIN, poweroff_usage},
#endif #endif
#ifdef BB_PRINTF #ifdef BB_PRINTF
{"printf", printf_main, _BB_DIR_USR_BIN}, {"printf", printf_main, _BB_DIR_USR_BIN, printf_usage},
#endif #endif
#ifdef BB_PS #ifdef BB_PS
{"ps", ps_main, _BB_DIR_BIN}, {"ps", ps_main, _BB_DIR_BIN, ps_usage},
#endif #endif
#ifdef BB_PWD #ifdef BB_PWD
{"pwd", pwd_main, _BB_DIR_BIN}, {"pwd", pwd_main, _BB_DIR_BIN, pwd_usage},
#endif #endif
#ifdef BB_REBOOT #ifdef BB_REBOOT
{"reboot", reboot_main, _BB_DIR_SBIN}, {"reboot", reboot_main, _BB_DIR_SBIN, reboot_usage},
#endif #endif
#ifdef BB_RM #ifdef BB_RM
{"rm", rm_main, _BB_DIR_BIN}, {"rm", rm_main, _BB_DIR_BIN, rm_usage},
#endif #endif
#ifdef BB_RMDIR #ifdef BB_RMDIR
{"rmdir", rmdir_main, _BB_DIR_BIN}, {"rmdir", rmdir_main, _BB_DIR_BIN, rmdir_usage},
#endif #endif
#ifdef BB_RMMOD #ifdef BB_RMMOD
{"rmmod", rmmod_main, _BB_DIR_SBIN}, {"rmmod", rmmod_main, _BB_DIR_SBIN, rmmod_usage},
#endif #endif
#ifdef BB_SED #ifdef BB_SED
{"sed", sed_main, _BB_DIR_BIN}, {"sed", sed_main, _BB_DIR_BIN, sed_usage},
#endif #endif
#ifdef BB_SETKEYCODES #ifdef BB_SETKEYCODES
{"setkeycodes", setkeycodes_main, _BB_DIR_USR_BIN}, {"setkeycodes", setkeycodes_main, _BB_DIR_USR_BIN, setkeycodes_usage},
#endif #endif
#ifdef BB_SH #ifdef BB_SH
{"sh", shell_main, _BB_DIR_BIN}, {"sh", shell_main, _BB_DIR_BIN, shell_usage},
#endif #endif
#ifdef BB_SLEEP #ifdef BB_SLEEP
{"sleep", sleep_main, _BB_DIR_BIN}, {"sleep", sleep_main, _BB_DIR_BIN, sleep_usage},
#endif #endif
#ifdef BB_SORT #ifdef BB_SORT
{"sort", sort_main, _BB_DIR_BIN}, {"sort", sort_main, _BB_DIR_BIN, sort_usage},
#endif #endif
#ifdef BB_SYNC #ifdef BB_SYNC
{"sync", sync_main, _BB_DIR_BIN}, {"sync", sync_main, _BB_DIR_BIN, sync_usage},
#endif #endif
#ifdef BB_SYSLOGD #ifdef BB_SYSLOGD
{"syslogd", syslogd_main, _BB_DIR_SBIN}, {"syslogd", syslogd_main, _BB_DIR_SBIN, syslogd_usage},
#endif #endif
#ifdef BB_SWAPONOFF #ifdef BB_SWAPONOFF
{"swapon", swap_on_off_main, _BB_DIR_SBIN}, {"swapon", swap_on_off_main, _BB_DIR_SBIN, swapon_usage},
#endif #endif
#ifdef BB_SWAPONOFF #ifdef BB_SWAPONOFF
{"swapoff", swap_on_off_main, _BB_DIR_SBIN}, {"swapoff", swap_on_off_main, _BB_DIR_SBIN, swapoff_usage},
#endif #endif
#ifdef BB_TAIL #ifdef BB_TAIL
{"tail", tail_main, _BB_DIR_USR_BIN}, {"tail", tail_main, _BB_DIR_USR_BIN, tail_usage},
#endif #endif
#ifdef BB_TAR #ifdef BB_TAR
{"tar", tar_main, _BB_DIR_BIN}, {"tar", tar_main, _BB_DIR_BIN, tar_usage},
#endif #endif
#ifdef BB_TELNET #ifdef BB_TELNET
{"telnet", telnet_main, _BB_DIR_USR_BIN}, {"telnet", telnet_main, _BB_DIR_USR_BIN, telnet_usage},
#endif #endif
#ifdef BB_TEST #ifdef BB_TEST
{"test", test_main, _BB_DIR_USR_BIN}, {"test", test_main, _BB_DIR_USR_BIN, test_usage},
#endif #endif
#ifdef BB_TEE #ifdef BB_TEE
{"tee", tee_main, _BB_DIR_BIN}, {"tee", tee_main, _BB_DIR_BIN, tee_usage},
#endif #endif
#ifdef BB_TOUCH #ifdef BB_TOUCH
{"touch", touch_main, _BB_DIR_USR_BIN}, {"touch", touch_main, _BB_DIR_USR_BIN, touch_usage},
#endif #endif
#ifdef BB_TR #ifdef BB_TR
{"tr", tr_main, _BB_DIR_USR_BIN}, {"tr", tr_main, _BB_DIR_USR_BIN, tr_usage},
#endif #endif
#ifdef BB_TRUE_FALSE #ifdef BB_TRUE_FALSE
{"true", true_main, _BB_DIR_BIN}, {"true", true_main, _BB_DIR_BIN, true_usage},
#endif #endif
#ifdef BB_TTY #ifdef BB_TTY
{"tty", tty_main, _BB_DIR_USR_BIN}, {"tty", tty_main, _BB_DIR_USR_BIN, tty_usage},
#endif #endif
#ifdef BB_UMOUNT #ifdef BB_UMOUNT
{"umount", umount_main, _BB_DIR_BIN}, {"umount", umount_main, _BB_DIR_BIN, umount_usage},
#endif #endif
#ifdef BB_UNAME #ifdef BB_UNAME
{"uname", uname_main, _BB_DIR_BIN}, {"uname", uname_main, _BB_DIR_BIN, uname_usage},
#endif #endif
#ifdef BB_UNIQ #ifdef BB_UNIQ
{"uniq", uniq_main, _BB_DIR_USR_BIN}, {"uniq", uniq_main, _BB_DIR_USR_BIN, uniq_usage},
#endif #endif
#ifdef BB_UPDATE #ifdef BB_UPDATE
{"update", update_main, _BB_DIR_SBIN}, {"update", update_main, _BB_DIR_SBIN, update_usage},
#endif #endif
#ifdef BB_UPTIME #ifdef BB_UPTIME
{"uptime", uptime_main, _BB_DIR_USR_BIN}, {"uptime", uptime_main, _BB_DIR_USR_BIN, uptime_usage},
#endif #endif
#ifdef BB_UUENCODE #ifdef BB_UUENCODE
{"uuencode", uuencode_main, _BB_DIR_USR_BIN}, {"uuencode", uuencode_main, _BB_DIR_USR_BIN, uuencode_usage},
#endif #endif
#ifdef BB_UUDECODE #ifdef BB_UUDECODE
{"uudecode", uudecode_main, _BB_DIR_USR_BIN}, {"uudecode", uudecode_main, _BB_DIR_USR_BIN, uudecode_usage},
#endif #endif
#ifdef BB_USLEEP #ifdef BB_USLEEP
{"usleep", usleep_main, _BB_DIR_BIN}, {"usleep", usleep_main, _BB_DIR_BIN, usleep_usage},
#endif #endif
#ifdef BB_WC #ifdef BB_WC
{"wc", wc_main, _BB_DIR_USR_BIN}, {"wc", wc_main, _BB_DIR_USR_BIN, wc_usage},
#endif #endif
#ifdef BB_WHICH #ifdef BB_WHICH
{"which", which_main, _BB_DIR_USR_BIN}, {"which", which_main, _BB_DIR_USR_BIN, which_usage},
#endif #endif
#ifdef BB_WHOAMI #ifdef BB_WHOAMI
{"whoami", whoami_main, _BB_DIR_USR_BIN}, {"whoami", whoami_main, _BB_DIR_USR_BIN, whoami_usage},
#endif #endif
#ifdef BB_YES #ifdef BB_YES
{"yes", yes_main, _BB_DIR_USR_BIN}, {"yes", yes_main, _BB_DIR_USR_BIN, yes_usage},
#endif #endif
#ifdef BB_GUNZIP #ifdef BB_GUNZIP
{"zcat", gunzip_main, _BB_DIR_BIN}, {"zcat", gunzip_main, _BB_DIR_BIN, gunzip_usage},
#endif #endif
#ifdef BB_TEST #ifdef BB_TEST
{"[", test_main, _BB_DIR_USR_BIN}, {"[", test_main, _BB_DIR_USR_BIN, test_usage},
#endif #endif
{0,NULL,0} {0,NULL,0,NULL}
}; };
char *applet_name; char *applet_name;
@ -490,6 +490,8 @@ int main(int argc, char **argv)
while (a->name != 0) { while (a->name != 0) {
if (strcmp(applet_name, a->name) == 0) { if (strcmp(applet_name, a->name) == 0) {
if (a->usage && argv[1] && strcmp(argv[1], "--help") == 0)
usage(a->usage);
exit(((*(a->main)) (argc, argv))); exit(((*(a->main)) (argc, argv)));
} }
a++; a++;

View File

@ -28,9 +28,6 @@
extern int clear_main(int argc, char **argv) extern int clear_main(int argc, char **argv)
{ {
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(clear_usage);
printf("\033[H\033[J"); printf("\033[H\033[J");
return(TRUE); return(TRUE);
} }

View File

@ -28,9 +28,6 @@
extern int clear_main(int argc, char **argv) extern int clear_main(int argc, char **argv)
{ {
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(clear_usage);
printf("\033[H\033[J"); printf("\033[H\033[J");
return(TRUE); return(TRUE);
} }

View File

@ -211,9 +211,6 @@ int cut_main(int argc, char **argv)
int i = 1; int i = 1;
int numberFilenames = 0; int numberFilenames = 0;
if (argc == 1 || strcmp(argv[1], dash_dash_help)==0)
usage(cut_usage);
while (i < argc) { while (i < argc) {
if (argv[i][0] == '-') { if (argv[i][0] == '-') {
switch (argv[i++][1]) { switch (argv[i++][1]) {

View File

@ -25,9 +25,6 @@
extern int hostid_main(int argc, char **argv) extern int hostid_main(int argc, char **argv)
{ {
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(hostid_usage);
printf("%lx\n", gethostid()); printf("%lx\n", gethostid());
return(TRUE); return(TRUE);
} }

View File

@ -30,9 +30,6 @@ extern int pwd_main(int argc, char **argv)
{ {
char buf[BUFSIZ + 1]; char buf[BUFSIZ + 1];
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(pwd_usage);
if (getcwd(buf, sizeof(buf)) == NULL) if (getcwd(buf, sizeof(buf)) == NULL)
fatalError("%s\n", strerror(errno)); fatalError("%s\n", strerror(errno));

View File

@ -188,9 +188,6 @@ test_main(int argc, char** argv)
fatalError("missing ]\n"); fatalError("missing ]\n");
argv[argc] = NULL; argv[argc] = NULL;
} }
if (strcmp(argv[1], dash_dash_help) == 0)
usage(test_usage);
/* Implement special cases from POSIX.2, section 4.62.4 */ /* Implement special cases from POSIX.2, section 4.62.4 */
switch (argc) { switch (argc) {
case 1: case 1:

3
cut.c
View File

@ -211,9 +211,6 @@ int cut_main(int argc, char **argv)
int i = 1; int i = 1;
int numberFilenames = 0; int numberFilenames = 0;
if (argc == 1 || strcmp(argv[1], dash_dash_help)==0)
usage(cut_usage);
while (i < argc) { while (i < argc) {
if (argv[i][0] == '-') { if (argv[i][0] == '-') {
switch (argv[i++][1]) { switch (argv[i++][1]) {

View File

@ -663,10 +663,6 @@ extern int sed_main(int argc, char **argv)
{ {
int opt; int opt;
/* do special-case option parsing */
if (argv[1] && (strcmp(argv[1], "--help") == 0))
usage(sed_usage);
#if 0 #if 0
/* destroy command strings on exit */ /* destroy command strings on exit */
if (atexit(destroy_cmd_strs) == -1) { if (atexit(destroy_cmd_strs) == -1) {

View File

@ -105,10 +105,6 @@ extern int grep_main(int argc, char **argv)
int opt; int opt;
int reflags; int reflags;
/* do special-case option parsing */
if (argv[1] && (strcmp(argv[1], "--help") == 0))
usage(grep_usage);
/* do normal option parsing */ /* do normal option parsing */
while ((opt = getopt(argc, argv, "iHhnqvsc")) > 0) { while ((opt = getopt(argc, argv, "iHhnqvsc")) > 0) {
switch (opt) { switch (opt) {

4
grep.c
View File

@ -105,10 +105,6 @@ extern int grep_main(int argc, char **argv)
int opt; int opt;
int reflags; int reflags;
/* do special-case option parsing */
if (argv[1] && (strcmp(argv[1], "--help") == 0))
usage(grep_usage);
/* do normal option parsing */ /* do normal option parsing */
while ((opt = getopt(argc, argv, "iHhnqvsc")) > 0) { while ((opt = getopt(argc, argv, "iHhnqvsc")) > 0) {
switch (opt) { switch (opt) {

3
halt.c
View File

@ -26,9 +26,6 @@
extern int halt_main(int argc, char **argv) extern int halt_main(int argc, char **argv)
{ {
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(halt_usage);
#ifdef BB_FEATURE_LINUXRC #ifdef BB_FEATURE_LINUXRC
/* don't assume init's pid == 1 */ /* don't assume init's pid == 1 */
return(kill(*(findPidByName("init")), SIGUSR1)); return(kill(*(findPidByName("init")), SIGUSR1));

View File

@ -25,9 +25,6 @@
extern int hostid_main(int argc, char **argv) extern int hostid_main(int argc, char **argv)
{ {
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(hostid_usage);
printf("%lx\n", gethostid()); printf("%lx\n", gethostid());
return(TRUE); return(TRUE);
} }

View File

@ -26,9 +26,6 @@
extern int halt_main(int argc, char **argv) extern int halt_main(int argc, char **argv)
{ {
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(halt_usage);
#ifdef BB_FEATURE_LINUXRC #ifdef BB_FEATURE_LINUXRC
/* don't assume init's pid == 1 */ /* don't assume init's pid == 1 */
return(kill(*(findPidByName("init")), SIGUSR1)); return(kill(*(findPidByName("init")), SIGUSR1));

View File

@ -26,9 +26,6 @@
extern int poweroff_main(int argc, char **argv) extern int poweroff_main(int argc, char **argv)
{ {
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(poweroff_usage);
#ifdef BB_FEATURE_LINUXRC #ifdef BB_FEATURE_LINUXRC
/* don't assume init's pid == 1 */ /* don't assume init's pid == 1 */
return(kill(*(findPidByName("init")), SIGUSR2)); return(kill(*(findPidByName("init")), SIGUSR2));

View File

@ -26,9 +26,6 @@
extern int reboot_main(int argc, char **argv) extern int reboot_main(int argc, char **argv)
{ {
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(reboot_usage);
#ifdef BB_FEATURE_LINUXRC #ifdef BB_FEATURE_LINUXRC
/* don't assume init's pid == 1 */ /* don't assume init's pid == 1 */
return(kill(*(findPidByName("init")), SIGINT)); return(kill(*(findPidByName("init")), SIGINT));

View File

@ -103,6 +103,7 @@ struct BB_applet {
const char* name; const char* name;
int (*main)(int argc, char** argv); int (*main)(int argc, char** argv);
enum Location location; enum Location location;
const char* usage;
}; };
/* From busybox.c */ /* From busybox.c */
extern const struct BB_applet applets[]; extern const struct BB_applet applets[];

View File

@ -36,8 +36,5 @@ extern int lsmod_main(int argc, char **argv)
char *filename = "/proc/modules"; char *filename = "/proc/modules";
#endif #endif
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(lsmod_usage);
return(print_file_by_name(filename)); return(print_file_by_name(filename));
} }

View File

@ -36,8 +36,5 @@ extern int lsmod_main(int argc, char **argv)
char *filename = "/proc/modules"; char *filename = "/proc/modules";
#endif #endif
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(lsmod_usage);
return(print_file_by_name(filename)); return(print_file_by_name(filename));
} }

4
more.c
View File

@ -78,10 +78,6 @@ extern int more_main(int argc, char **argv)
argc--; argc--;
argv++; argv++;
if (argc > 0
&& (strcmp(*argv, dash_dash_help) == 0 || strcmp(*argv, "-h") == 0)) {
usage(more_usage);
}
do { do {
if (argc == 0) { if (argc == 0) {
file = stdin; file = stdin;

View File

@ -26,9 +26,6 @@
extern int poweroff_main(int argc, char **argv) extern int poweroff_main(int argc, char **argv)
{ {
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(poweroff_usage);
#ifdef BB_FEATURE_LINUXRC #ifdef BB_FEATURE_LINUXRC
/* don't assume init's pid == 1 */ /* don't assume init's pid == 1 */
return(kill(*(findPidByName("init")), SIGUSR2)); return(kill(*(findPidByName("init")), SIGUSR2));

View File

@ -133,9 +133,6 @@ extern int ps_main(int argc, char **argv)
if (argc > 1 && strcmp(argv[1], dash_dash_help) == 0)
usage(ps_usage);
dir = opendir("/proc"); dir = opendir("/proc");
if (!dir) if (!dir)
fatalError("Can't open /proc\n"); fatalError("Can't open /proc\n");

View File

@ -46,9 +46,6 @@ extern int uptime_main(int argc, char **argv)
struct tm *current_time; struct tm *current_time;
time_t current_secs; time_t current_secs;
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(uptime_usage);
time(&current_secs); time(&current_secs);
current_time = localtime(&current_secs); current_time = localtime(&current_secs);

3
ps.c
View File

@ -133,9 +133,6 @@ extern int ps_main(int argc, char **argv)
if (argc > 1 && strcmp(argv[1], dash_dash_help) == 0)
usage(ps_usage);
dir = opendir("/proc"); dir = opendir("/proc");
if (!dir) if (!dir)
fatalError("Can't open /proc\n"); fatalError("Can't open /proc\n");

3
pwd.c
View File

@ -30,9 +30,6 @@ extern int pwd_main(int argc, char **argv)
{ {
char buf[BUFSIZ + 1]; char buf[BUFSIZ + 1];
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(pwd_usage);
if (getcwd(buf, sizeof(buf)) == NULL) if (getcwd(buf, sizeof(buf)) == NULL)
fatalError("%s\n", strerror(errno)); fatalError("%s\n", strerror(errno));

View File

@ -26,9 +26,6 @@
extern int reboot_main(int argc, char **argv) extern int reboot_main(int argc, char **argv)
{ {
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(reboot_usage);
#ifdef BB_FEATURE_LINUXRC #ifdef BB_FEATURE_LINUXRC
/* don't assume init's pid == 1 */ /* don't assume init's pid == 1 */
return(kill(*(findPidByName("init")), SIGINT)); return(kill(*(findPidByName("init")), SIGINT));

4
sed.c
View File

@ -663,10 +663,6 @@ extern int sed_main(int argc, char **argv)
{ {
int opt; int opt;
/* do special-case option parsing */
if (argv[1] && (strcmp(argv[1], "--help") == 0))
usage(sed_usage);
#if 0 #if 0
/* destroy command strings on exit */ /* destroy command strings on exit */
if (atexit(destroy_cmd_strs) == -1) { if (atexit(destroy_cmd_strs) == -1) {

3
test.c
View File

@ -188,9 +188,6 @@ test_main(int argc, char** argv)
fatalError("missing ]\n"); fatalError("missing ]\n");
argv[argc] = NULL; argv[argc] = NULL;
} }
if (strcmp(argv[1], dash_dash_help) == 0)
usage(test_usage);
/* Implement special cases from POSIX.2, section 4.62.4 */ /* Implement special cases from POSIX.2, section 4.62.4 */
switch (argc) { switch (argc) {
case 1: case 1:

View File

@ -27,16 +27,10 @@
extern int true_main(int argc, char **argv) extern int true_main(int argc, char **argv)
{ {
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(true_usage);
return(TRUE); return(TRUE);
} }
extern int false_main(int argc, char **argv) extern int false_main(int argc, char **argv)
{ {
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(false_usage);
return(FALSE); return(FALSE);
} }

View File

@ -46,9 +46,6 @@ extern int uptime_main(int argc, char **argv)
struct tm *current_time; struct tm *current_time;
time_t current_secs; time_t current_secs;
if (argc > 1 && strcmp(argv[1], "--help") == 0)
usage(uptime_usage);
time(&current_secs); time(&current_secs);
current_time = localtime(&current_secs); current_time = localtime(&current_secs);

View File

@ -78,10 +78,6 @@ extern int more_main(int argc, char **argv)
argc--; argc--;
argv++; argv++;
if (argc > 0
&& (strcmp(*argv, dash_dash_help) == 0 || strcmp(*argv, "-h") == 0)) {
usage(more_usage);
}
do { do {
if (argc == 0) { if (argc == 0) {
file = stdin; file = stdin;