Patch from Matt Kraai so wc will return a proper error code
when failing to open a file, and will not use file when it
didn't open the file.
 -Erik
diff --git a/coreutils/wc.c b/coreutils/wc.c
index 9d56945..e6f7534 100644
--- a/coreutils/wc.c
+++ b/coreutils/wc.c
@@ -105,7 +105,7 @@
 {
 	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;
@@ -137,8 +137,10 @@
 		return EXIT_SUCCESS;
 	} else {
 		while (optind < argc) {
-			file = xfopen(argv[optind], "r");
-			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++;
 		}
@@ -148,5 +150,5 @@
 		print_counts(total_lines, total_words, total_chars,
 					 max_length, "total");
 
-	return EXIT_SUCCESS;
+	return status;
 }