diff options
Diffstat (limited to 'usr.bin/cut/cut.c')
-rw-r--r-- | usr.bin/cut/cut.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/usr.bin/cut/cut.c b/usr.bin/cut/cut.c index bb7f51f..93737fc 100644 --- a/usr.bin/cut/cut.c +++ b/usr.bin/cut/cut.c @@ -71,7 +71,7 @@ main(argc, argv) { FILE *fp; void (*fcn) (FILE *, const char *) = NULL; - int ch; + int ch, rval; fcn = NULL; setlocale (LC_ALL, ""); @@ -115,16 +115,20 @@ main(argc, argv) } else if (!cflag || dflag || sflag) usage(); + rval = 0; if (*argv) for (; *argv; ++argv) { - if (!(fp = fopen(*argv, "r"))) - err(1, "%s", *argv); + if (!(fp = fopen(*argv, "r"))) { + warn("%s", *argv); + rval = 1; + continue; + } fcn(fp, *argv); (void)fclose(fp); } else fcn(stdin, "stdin"); - exit(0); + exit(rval); } size_t autostart, autostop, maxval; |