diff options
Diffstat (limited to 'applets')
-rw-r--r-- | applets/busybox.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/applets/busybox.c b/applets/busybox.c index be9aa3e83..191dee13f 100644 --- a/applets/busybox.c +++ b/applets/busybox.c | |||
@@ -374,18 +374,11 @@ int main(int argc, char **argv) | |||
374 | 374 | ||
375 | while (a->name != 0) { | 375 | while (a->name != 0) { |
376 | if (strcmp(name, a->name) == 0) { | 376 | if (strcmp(name, a->name) == 0) { |
377 | int status; | 377 | exit(((*(a->main)) (argc, argv))); |
378 | |||
379 | status = ((*(a->main)) (argc, argv)); | ||
380 | if (status < 0) { | ||
381 | fprintf(stderr, "%s: %s\n", a->name, strerror(errno)); | ||
382 | } | ||
383 | fprintf(stderr, "\n"); | ||
384 | exit(status); | ||
385 | } | 378 | } |
386 | a++; | 379 | a++; |
387 | } | 380 | } |
388 | exit(busybox_main(argc, argv)); | 381 | return(busybox_main(argc, argv)); |
389 | } | 382 | } |
390 | 383 | ||
391 | 384 | ||
@@ -419,11 +412,10 @@ int busybox_main(int argc, char **argv) | |||
419 | } | 412 | } |
420 | fprintf(stderr, "\n\n"); | 413 | fprintf(stderr, "\n\n"); |
421 | exit(-1); | 414 | exit(-1); |
422 | } else { | ||
423 | /* If we've already been here once, exit now */ | ||
424 | been_there_done_that = 1; | ||
425 | return (main(argc, argv)); | ||
426 | } | 415 | } |
416 | /* If we've already been here once, exit now */ | ||
417 | been_there_done_that = 1; | ||
418 | return (main(argc, argv)); | ||
427 | } | 419 | } |
428 | 420 | ||
429 | /* | 421 | /* |