aboutsummaryrefslogtreecommitdiff
path: root/coreutils
diff options
context:
space:
mode:
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/cat.c16
1 files changed, 1 insertions, 15 deletions
diff --git a/coreutils/cat.c b/coreutils/cat.c
index c27f07e82..6a9204fe7 100644
--- a/coreutils/cat.c
+++ b/coreutils/cat.c
@@ -24,20 +24,8 @@
#include "internal.h"
#include <stdio.h>
-static void print_file(FILE * file)
-{
- int c;
-
- while ((c = getc(file)) != EOF)
- putc(c, stdout);
- fclose(file);
- fflush(stdout);
-}
-
extern int cat_main(int argc, char **argv)
{
- FILE *file;
-
if (argc == 1) {
print_file(stdin);
exit(TRUE);
@@ -47,12 +35,10 @@ extern int cat_main(int argc, char **argv)
usage(cat_usage);
while (--argc > 0) {
- file = fopen(*++argv, "r");
- if (file == NULL) {
+ if (print_file_by_name(*++argv) == FALSE) {
perror(*argv);
exit(FALSE);
}
- print_file(file);
}
return(TRUE);
}