From 74afa9aed1b099c6b0af881760a5de74be521f1f Mon Sep 17 00:00:00 2001 From: Glenn L McGrath Date: Wed, 21 Nov 2001 10:26:28 +0000 Subject: When just counting chars of a file stat file instead of reading the whole file (Fixes Debian bug #103302) --- coreutils/wc.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'coreutils/wc.c') diff --git a/coreutils/wc.c b/coreutils/wc.c index 94f1ee610..15c7692af 100644 --- a/coreutils/wc.c +++ b/coreutils/wc.c @@ -143,11 +143,15 @@ int wc_main(int argc, char **argv) return EXIT_SUCCESS; } else { while (optind < argc) { - file = wfopen(argv[optind], "r"); - if (file != NULL) + if (print_type == print_chars) { + struct stat statbuf; + stat(argv[optind], &statbuf); + print_counts(0, 0, statbuf.st_size, 0, argv[optind]); + total_chars += statbuf.st_size; + } else { + file = xfopen(argv[optind], "r"); wc_file(file, argv[optind]); - else - status = EXIT_FAILURE; + } num_files_counted++; optind++; } -- cgit v1.2.3