From 24396bbf78d03dee1e695d8b32bea48805c89a1b Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Fri, 15 Aug 2008 14:16:53 -0500 Subject: An error from an input file isn't fatal, keep reading remaining input files. --- toys/cat.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/toys/cat.c b/toys/cat.c index 80f3ee49..81bfcafd 100644 --- a/toys/cat.c +++ b/toys/cat.c @@ -1,6 +1,6 @@ /* vi: set sw=4 ts=4: * - * hello.c - A hello world program. + * cat.c - copy inputs to stdout. * * Copyright 2006 Rob Landley * @@ -14,6 +14,7 @@ config CAT help usage: cat [-u] [file...] Copy (concatenate) files to stdout. If no files listed, copy from stdin. + Filename "-" is a synonym for stdin. -u Copy one byte at a time (slow). */ @@ -25,8 +26,11 @@ static void do_cat(int fd, char *name) int len, size=toys.optflags ? 1 : sizeof(toybuf); for (;;) { - len = xread(fd, toybuf, size); - if (len<0) toys.exitval = EXIT_FAILURE; + len = read(fd, toybuf, size); + if (len<0) { + perror_msg("%s",name); + toys.exitval = EXIT_FAILURE; + } if (len<1) break; xwrite(1, toybuf, len); } -- cgit v1.2.3