X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=coreutils%2Fwc.c;h=695e7e7d4e4b765b1954d5ecb5d9ea11f1128a10;hb=a6ce670a87ee77ccb9337ed6d87442134e1a48ed;hp=ca5b3680a70967b8b938faeef6e3d55b201049b3;hpb=1b355ebba68bdd567dd3961a18291dfd9532c2e8;p=oweals%2Fbusybox.git diff --git a/coreutils/wc.c b/coreutils/wc.c index ca5b3680a..695e7e7d4 100644 --- a/coreutils/wc.c +++ b/coreutils/wc.c @@ -20,15 +20,17 @@ * */ -#include "internal.h" #include #include +#include +#include +#include "busybox.h" static int total_lines, total_words, total_chars, max_length; static int print_lines, print_words, print_chars, print_length; -void print_counts(int lines, int words, int chars, int length, - const char *name) +static void print_counts(int lines, int words, int chars, int length, + const char *name) { char const *space = ""; @@ -105,7 +107,7 @@ int wc_main(int argc, char **argv) { FILE *file; unsigned int num_files_counted = 0; - int opt; + int opt, status = EXIT_SUCCESS; total_lines = total_words = total_chars = max_length = 0; print_lines = print_words = print_chars = print_length = 0; @@ -125,7 +127,7 @@ int wc_main(int argc, char **argv) print_words = 1; break; default: - usage(wc_usage); + show_usage(); } } @@ -134,14 +136,13 @@ int wc_main(int argc, char **argv) if (argv[optind] == NULL || strcmp(argv[optind], "-") == 0) { wc_file(stdin, ""); - exit(TRUE); + return EXIT_SUCCESS; } else { while (optind < argc) { - file = fopen(argv[optind], "r"); - if (file == NULL) { - fatalError(argv[optind]); - } - wc_file(file, argv[optind]); + if ((file = wfopen(argv[optind], "r")) != NULL) + wc_file(file, argv[optind]); + else + status = EXIT_FAILURE; num_files_counted++; optind++; } @@ -151,5 +152,5 @@ int wc_main(int argc, char **argv) print_counts(total_lines, total_words, total_chars, max_length, "total"); - return 0 ; + return status; }