From f5d5e77321ad32b3952dcdf21d14fd0ef3d4c1a9 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 24 Jan 2001 23:34:48 +0000 Subject: more bugs fixed -- found doing regression testing -Erik --- applets/busybox.c | 63 +++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 32 deletions(-) (limited to 'applets') diff --git a/applets/busybox.c b/applets/busybox.c index 0439fb566..5eb9dfa64 100644 --- a/applets/busybox.c +++ b/applets/busybox.c @@ -89,37 +89,6 @@ int main(int argc, char **argv) { struct BB_applet search_applet, *applet; const char *s; - applet_name = "busybox"; - -#ifdef BB_FEATURE_INSTALLER - /* - * This style of argument parsing doesn't scale well - * in the event that busybox starts wanting more --options. - * If someone has a cleaner approach, by all means implement it. - */ - if (argc > 1 && (strcmp(argv[1], "--install") == 0)) { - int use_symbolic_links = 0; - int rc = 0; - char *busybox; - - /* to use symlinks, or not to use symlinks... */ - if (argc > 2) { - if ((strcmp(argv[2], "-s") == 0)) { - use_symbolic_links = 1; - } - } - - /* link */ - busybox = busybox_fullpath(); - if (busybox) { - install_links(busybox, use_symbolic_links); - free(busybox); - } else { - rc = 1; - } - return rc; - } -#endif /* BB_FEATURE_INSTALLER */ for (s = applet_name = argv[0]; *s != '\0';) { if (*s++ == '/') @@ -144,7 +113,7 @@ int main(int argc, char **argv) exit((*(applet->main)) (argc, argv)); } - return(busybox_main(argc, argv)); + error_msg_and_die("applet not found\n"); } @@ -152,6 +121,36 @@ int busybox_main(int argc, char **argv) { int col = 0, len, i; +#ifdef BB_FEATURE_INSTALLER + /* + * This style of argument parsing doesn't scale well + * in the event that busybox starts wanting more --options. + * If someone has a cleaner approach, by all means implement it. + */ + if (argc > 1 && (strcmp(argv[1], "--install") == 0)) { + int use_symbolic_links = 0; + int rc = 0; + char *busybox; + + /* to use symlinks, or not to use symlinks... */ + if (argc > 2) { + if ((strcmp(argv[2], "-s") == 0)) { + use_symbolic_links = 1; + } + } + + /* link */ + busybox = busybox_fullpath(); + if (busybox) { + install_links(busybox, use_symbolic_links); + free(busybox); + } else { + rc = 1; + } + return rc; + } +#endif /* BB_FEATURE_INSTALLER */ + argc--; /* If we've already been here once, exit now */ -- cgit v1.2.3