summaryrefslogtreecommitdiffstats
path: root/usr.bin/expand
diff options
context:
space:
mode:
authortjr <tjr@FreeBSD.org>2002-05-24 06:00:47 +0000
committertjr <tjr@FreeBSD.org>2002-05-24 06:00:47 +0000
commitfcdda3c7edcabfbacb007613fcad03a4d97b745f (patch)
tree0571a8f5b8e9120e2f99912d819a0854864d1d30 /usr.bin/expand
parenta47434fc69f21ecf51af8d11313d0df0d54c7b02 (diff)
downloadFreeBSD-src-fcdda3c7edcabfbacb007613fcad03a4d97b745f.zip
FreeBSD-src-fcdda3c7edcabfbacb007613fcad03a4d97b745f.tar.gz
If processing of one file fails, try to process the remaining files and
exit non-zero instead of immediately exiting (SUSv3).
Diffstat (limited to 'usr.bin/expand')
-rw-r--r--usr.bin/expand/expand.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/usr.bin/expand/expand.c b/usr.bin/expand/expand.c
index ec2a20d..f83419d 100644
--- a/usr.bin/expand/expand.c
+++ b/usr.bin/expand/expand.c
@@ -67,6 +67,7 @@ main(argc, argv)
{
register int c, column;
register int n;
+ int rval;
/* handle obsolete syntax */
while (argc > 1 && argv[1][0] == '-' && isdigit(argv[1][1])) {
@@ -88,10 +89,15 @@ main(argc, argv)
argc -= optind;
argv += optind;
+ rval = 0;
do {
if (argc > 0) {
- if (freopen(argv[0], "r", stdin) == NULL)
- errx(1, "%s", argv[0]);
+ if (freopen(argv[0], "r", stdin) == NULL) {
+ warn("%s", argv[0]);
+ rval = 1;
+ argc--, argv++;
+ continue;
+ }
argc--, argv++;
}
column = 0;
@@ -144,7 +150,7 @@ main(argc, argv)
}
}
} while (argc > 0);
- exit(0);
+ exit(rval);
}
static void
OpenPOWER on IntegriCloud