X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=applets%2Fbusybox.c;h=895accd93be7fa44e82efaf0914ee537ba95b35e;hb=6da0ae8183a31d4faab745d534a363c7e66ef864;hp=f0258c36e56e9dbc201a4c54ed68b3331565d627;hpb=2ce1edcf544ac675e6762c9861a6b918401ea716;p=oweals%2Fbusybox.git diff --git a/applets/busybox.c b/applets/busybox.c index f0258c36e..895accd93 100644 --- a/applets/busybox.c +++ b/applets/busybox.c @@ -14,14 +14,12 @@ static const struct Applet applets[] = { {"block_device", block_device_main}, #endif #ifdef BB_CAT //bin - {"cat", cat_more_main}, + {"cat", cat_main}, #endif -#ifdef BB_CHMOD //bin - {"chmod", chmod_main}, -#endif -#ifdef BB_CHOWN //bin - {"chown", chown_main}, - {"chgrp", chown_main}, +#ifdef BB_CHMOD_CHOWN_CHGRP //bin + {"chmod", chmod_chown_chgrp_main}, + {"chown", chmod_chown_chgrp_main}, + {"chgrp", chmod_chown_chgrp_main}, #endif #ifdef BB_CHROOT //sbin {"chroot", chroot_main}, @@ -29,6 +27,9 @@ static const struct Applet applets[] = { #ifdef BB_CLEAR //usr/bin {"clear", clear_main}, #endif +#ifdef BB_CHVT //usr/bin + {"chvt", chvt_main}, +#endif #ifdef BB_CP //bin {"cp", cp_main}, #endif @@ -44,27 +45,54 @@ static const struct Applet applets[] = { #ifdef BB_DMESG //bin {"dmesg", dmesg_main}, #endif +#ifdef BB_DU //bin + {"du", du_main}, +#endif #ifdef BB_DUTMP //usr/sbin - {"dutmp", cat_more_main}, + {"dutmp", dutmp_main}, #endif -#ifdef BB_FALSE //bin - {"false", false_main}, +#ifdef BB_FBSET //usr/sbin + {"fbset", fbset_main}, #endif #ifdef BB_FDFLUSH //bin - {"fdflush", monadic_main}, + {"fdflush", fdflush_main}, #endif #ifdef BB_FIND //usr/bin {"find", find_main}, #endif +#ifdef BB_FREE //usr/bin + {"free", free_main}, +#endif +#ifdef BB_DEALLOCVT //usr/bin + {"deallocvt", deallocvt_main}, +#endif +#ifdef BB_FSCK_MINIX //sbin + {"fsck.minix", fsck_minix_main}, +#endif +#ifdef BB_MKFS_MINIX //sbin + {"mkfs.minix", mkfs_minix_main}, +#endif #ifdef BB_GREP //bin {"grep", grep_main}, #endif #ifdef BB_HALT //sbin {"halt", halt_main}, #endif +#ifdef BB_HEAD //bin + {"head", head_main}, +#endif +#ifdef BB_HOSTNAME //bin + {"hostname", hostname_main}, +#endif #ifdef BB_INIT //sbin {"init", init_main}, #endif +#ifdef BB_INSMOD //sbin + {"insmod", insmod_main}, +#endif +#ifdef BB_FEATURE_LINUXRC // + {"linuxrc", init_main}, +#endif #ifdef BB_KILL //bin {"kill", kill_main}, #endif @@ -72,17 +100,20 @@ static const struct Applet applets[] = { {"length", length_main}, #endif #ifdef BB_LN //bin - {"ln", dyadic_main}, + {"ln", ln_main}, +#endif +#ifdef BB_LOADFONT //usr/bin + {"loadfont", loadfont_main}, #endif #ifdef BB_LOADKMAP //sbin {"loadkmap", loadkmap_main}, #endif -#ifdef BB_LOSETUP //sbin - {"losetup", losetup_main}, -#endif #ifdef BB_LS //bin {"ls", ls_main}, #endif +#ifdef BB_LSMOD //sbin + {"lsmod", lsmod_main}, +#endif #ifdef BB_MAKEDEVS //sbin {"makedevs", makedevs_main}, #endif @@ -90,7 +121,10 @@ static const struct Applet applets[] = { {"math", math_main}, #endif #ifdef BB_MKDIR //bin - {"mkdir", monadic_main}, + {"mkdir", mkdir_main}, +#endif +#ifdef BB_MKFIFO //usr/bin + {"mkfifo", mkfifo_main}, #endif #ifdef BB_MKNOD //bin {"mknod", mknod_main}, @@ -113,9 +147,18 @@ static const struct Applet applets[] = { #ifdef BB_MV //bin {"mv", mv_main}, #endif +#ifdef BB_PING //bin + {"ping", ping_main}, +#endif +#ifdef BB_POWEROFF //sbin + {"poweroff", poweroff_main}, +#endif #ifdef BB_PRINTF //usr/bin {"printf", printf_main}, #endif +#ifdef BB_PS //bin + {"ps", ps_main}, +#endif #ifdef BB_PWD //bin {"pwd", pwd_main}, #endif @@ -126,38 +169,62 @@ static const struct Applet applets[] = { {"rm", rm_main}, #endif #ifdef BB_RMDIR //bin - {"rmdir", monadic_main}, + {"rmdir", rmdir_main}, #endif -#ifdef BB_SLEEP //bin - {"sleep", sleep_main}, +#ifdef BB_RMMOD //sbin + {"rmmod", rmmod_main}, #endif -#ifdef BB_TAR //bin - {"tar", tar_main}, +#ifdef BB_SFDISK //sbin + {"fdisk", sfdisk_main}, + {"sfdisk", sfdisk_main}, #endif -#ifdef BB_SWAPOFF //sbin - {"swapoff", monadic_main}, +#ifdef BB_SED //bin + {"sed", sed_main}, #endif -#ifdef BB_SWAPON //sbin - {"swapon", monadic_main}, +#ifdef BB_SLEEP //bin + {"sleep", sleep_main}, #endif #ifdef BB_SYNC //bin {"sync", sync_main}, #endif +#ifdef BB_SYSLOGD //sbin + {"syslogd", syslogd_main}, +#endif +#ifdef BB_LOGGER //usr/bin + {"logger", logger_main}, +#endif +#ifdef BB_SWAPONOFF //sbin + {"swapon", swap_on_off_main}, + {"swapoff", swap_on_off_main}, +#endif +#ifdef BB_TAIL //usr/bin + {"tail", tail_main}, +#endif +#ifdef BB_TAR //bin + {"tar", tar_main}, +#endif +#ifdef BB_TEE //bin + {"tee", tee_main}, +#endif #ifdef BB_TOUCH //usr/bin {"touch", touch_main}, #endif -#ifdef BB_TRUE //bin +#ifdef BB_TRUE_FALSE //bin {"true", true_main}, + {"false", false_main}, +#endif +#ifdef BB_UNAME //bin + {"uname", uname_main}, #endif #ifdef BB_UMOUNT //bin - {"umount", umount_main}, + {"umount", umount_main}, #endif #ifdef BB_UPDATE //sbin {"update", update_main}, #endif -#ifdef BB_ZCAT //bin - {"zcat", zcat_main}, - {"gunzip", zcat_main}, +#ifdef BB_GUNZIP //bin + {"zcat", gunzip_main}, + {"gunzip", gunzip_main}, #endif #ifdef BB_GZIP //bin {"gzip", gzip_main}, @@ -199,19 +266,14 @@ int busybox_main(int argc, char **argv) argc--; argv++; - /* If we've already been here once, exit now */ - if (been_there_done_that == 1) - return -1; - been_there_done_that = 1; - - if (argc < 1) { + if (been_there_done_that == 1 || argc < 1) { const struct Applet *a = applets; - fprintf(stderr, "BusyBox v%s (%s) multi-call binary -- GPL2\n", + fprintf(stderr, "BusyBox v%s (%s) multi-call binary -- GPL2\n\n", BB_VER, BB_BT); - fprintf(stderr, "\nUsage:\t[function] [arguments]...\n"); - fprintf(stderr, "\tbusybox [function] [arguments]...\n"); + fprintf(stderr, "Usage: busybox [function] [arguments]...\n"); + fprintf(stderr, " or: [function] [arguments]...\n\n"); fprintf(stderr, - "\n\tMost people will create a symlink to busybox for each\n" + "\tMost people will create a symlink to busybox for each\n" "\tfunction name, and busybox will act like whatever you invoke it as.\n"); fprintf(stderr, "\nCurrently defined functions:\n"); @@ -224,6 +286,9 @@ int busybox_main(int argc, char **argv) } fprintf(stderr, "\n\n"); exit(-1); - } else + } else { + /* If we've already been here once, exit now */ + been_there_done_that = 1; return (main(argc, argv)); + } }