diff options
author | Rob Landley <rob@landley.net> | 2008-08-15 14:16:53 -0500 |
---|---|---|
committer | Rob Landley <rob@landley.net> | 2008-08-15 14:16:53 -0500 |
commit | 24396bbf78d03dee1e695d8b32bea48805c89a1b (patch) | |
tree | ef87842032af40d849b66c78185767e03aa1fdbf /toys | |
parent | 5a9c37f5e9dde147270974d796b5c6c742fb2804 (diff) | |
download | toybox-24396bbf78d03dee1e695d8b32bea48805c89a1b.tar.gz |
An error from an input file isn't fatal, keep reading remaining input files.
Diffstat (limited to 'toys')
-rw-r--r-- | toys/cat.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -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 <rob@landley.net> * @@ -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); } |