diff options
author | Eric Andersen | 2001-01-24 23:34:48 +0000 |
---|---|---|
committer | Eric Andersen | 2001-01-24 23:34:48 +0000 |
commit | f5d5e77321ad32b3952dcdf21d14fd0ef3d4c1a9 (patch) | |
tree | bc91a3dbedbdfc52a5ade52815d241d2f1100082 /applets | |
parent | 26439a2991f81b52c93b1e81d16f328f359a6611 (diff) | |
download | busybox-f5d5e77321ad32b3952dcdf21d14fd0ef3d4c1a9.zip busybox-f5d5e77321ad32b3952dcdf21d14fd0ef3d4c1a9.tar.gz |
more bugs fixed -- found doing regression testing
-Erik
Diffstat (limited to 'applets')
-rw-r--r-- | applets/busybox.c | 63 |
1 files changed, 31 insertions, 32 deletions
diff --git a/applets/busybox.c b/applets/busybox.c index 0439fb5..5eb9dfa 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 */ |