From 631d66bee1b5e3186b84f03f117b52a8d0868509 Mon Sep 17 00:00:00 2001 From: tjr Date: Fri, 24 May 2002 06:03:12 +0000 Subject: If processing of one file fails, try to process the remaining files and exit non-zero instead of immediately exiting. The traditional BSD behaviour is explicitly forbidden by P1003.2. --- usr.bin/cut/cut.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'usr.bin/cut/cut.c') 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; -- cgit v1.1