summaryrefslogtreecommitdiffstats
path: root/usr.bin/m4
diff options
context:
space:
mode:
authortjr <tjr@FreeBSD.org>2002-05-26 06:15:15 +0000
committertjr <tjr@FreeBSD.org>2002-05-26 06:15:15 +0000
commitdc6576dc1fa3ef0fee4202a75353404e115bc014 (patch)
treef34aaae8684a0c25595964e278ca021a5a00b9ca /usr.bin/m4
parent1bb2478dbeba2e967ffb1f7c7a96300117916828 (diff)
downloadFreeBSD-src-dc6576dc1fa3ef0fee4202a75353404e115bc014.zip
FreeBSD-src-dc6576dc1fa3ef0fee4202a75353404e115bc014.tar.gz
If a file operand cannot be processed, go on to process any remaining files
but exit non-zero.
Diffstat (limited to 'usr.bin/m4')
-rw-r--r--usr.bin/m4/main.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/usr.bin/m4/main.c b/usr.bin/m4/main.c
index 18dccb4..f0fdeca 100644
--- a/usr.bin/m4/main.c
+++ b/usr.bin/m4/main.c
@@ -181,6 +181,7 @@ main(int argc, char *argv[])
{
int c;
int n;
+ int rval;
char *p;
traceout = stderr;
@@ -238,6 +239,7 @@ main(int argc, char *argv[])
argc -= optind;
argv += optind;
+ rval = 0;
active = stdout; /* default active output */
bbase[0] = bufbase;
if (!argc) {
@@ -255,8 +257,11 @@ main(int argc, char *argv[])
p = *argv;
if (p[0] == '-' && p[1] == EOS)
set_input(infile, stdin, "stdin");
- else if (fopen_trypath(infile, p) == NULL)
- err(1, "%s", p);
+ else if (fopen_trypath(infile, p) == NULL) {
+ warn("%s", p);
+ rval = 1;
+ continue;
+ }
sp = -1;
fp = 0;
if ((inname[0] = strdup(p)) == NULL)
@@ -284,7 +289,7 @@ main(int argc, char *argv[])
(void) fclose(outfile[0]);
}
- return 0;
+ exit(rval);
}
/*
OpenPOWER on IntegriCloud