*
*/
-#include "internal.h"
#include <stdio.h>
#include <getopt.h>
+#include <stdlib.h>
+#include "busybox.h"
static int total_lines, total_words, total_chars, max_length;
static int print_lines, print_words, print_chars, print_length;
{
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;
print_words = 1;
break;
default:
- usage(wc_usage);
+ show_usage();
}
}
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++;
}
print_counts(total_lines, total_words, total_chars,
max_length, "total");
- return 0 ;
+ return status;
}