# HG changeset patch # User Rob Landley # Date 1218827813 18000 # Node ID d1ae502ee1905d21c3373d75f801c2e00d95d266 # Parent 064fc1b8b7b1e3552e744be8bf9088e6e5840aaa An error from an input file isn't fatal, keep reading remaining input files. diff -r 064fc1b8b7b1 -r d1ae502ee190 toys/cat.c --- a/toys/cat.c Fri Aug 15 14:14:10 2008 -0500 +++ b/toys/cat.c Fri Aug 15 14:16:53 2008 -0500 @@ -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 @@ 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 @@ 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); }