#include <string.h>
#include <errno.h>
+#ifndef BB_INIT
+#undef BB_FEATURE_LINUXRC
+#endif
+
static int been_there_done_that = 0;
+/* It has been alledged that doing such things can
+ * help reduce binary size when staticly linking,
+ * of course with glibc, this is unlikely as long
+ * as we use things like printf -- perhaps a printf
+ * replacement may be in order
+ */
+#if 0
+void exit (int status) __attribute__ ((noreturn));
+void exit (int status) { _exit(status); };
+void abort (void) __attribute__ ((__noreturn__));
+void abort (void) { _exit(0); };
+int atexit (void (*__func) (void)) { _exit(0); };
+void *__libc_stack_end;
+#endif
+
+
static const struct Applet applets[] = {
#ifdef BB_BUSYBOX //bin
#ifdef BB_HEAD //bin
{"head", head_main},
#endif
+#ifdef BB_HOSTID //usr/bin
+ {"hostid", hostid_main},
+#endif
#ifdef BB_HOSTNAME //bin
{"hostname", hostname_main},
#endif
#ifdef BB_LN //bin
{"ln", ln_main},
#endif
+#ifdef BB_LOADACM //usr/bin
+ {"loadacm", loadacm_main},
+#endif
#ifdef BB_LOADFONT //usr/bin
{"loadfont", loadfont_main},
#endif
#ifdef BB_LOGGER //usr/bin
{"logger", logger_main},
#endif
+#ifdef BB_LOGNAME //usr/bin
+ {"logname", logname_main},
+#endif
#ifdef BB_SWAPONOFF //sbin
{"swapon", swap_on_off_main},
{"swapoff", swap_on_off_main},
{"true", true_main},
{"false", false_main},
#endif
+#ifdef BB_TTY //usr/bin
+ {"tty", tty_main},
+#endif
#ifdef BB_UNAME //bin
{"uname", uname_main},
#endif
#ifdef BB_UMOUNT //bin
{"umount", umount_main},
#endif
+#ifdef BB_UNIQ //bin
+ {"uniq", uniq_main},
+#endif
#ifdef BB_UPDATE //sbin
{"update", update_main},
#endif
+#ifdef BB_WC //usr/bin
+ {"wc", wc_main},
+#endif
+#ifdef BB_WHOAMI //usr/bin
+ {"whoami", whoami_main},
+#endif
+#ifdef BB_YES //usr/bin
+ {"yes", yes_main},
+#endif
#ifdef BB_GUNZIP //bin
{"zcat", gunzip_main},
{"gunzip", gunzip_main},
#ifdef BB_GZIP //bin
{"gzip", gzip_main},
#endif
-#ifdef BB_LOADACM //usr/bin
- {"loadacm", loadacm_main},
-#endif
{0}
};
+
+
int main(int argc, char **argv)
{
char *s = argv[0];