commit d9abff1e84d0c1ea41cfa2305502cb3d0a76ba34
parent 7add068ade75040aee0512a7c8452832a4dbbbd0
Author: sin <sin@2f30.org>
Date: Tue, 12 Nov 2013 10:44:37 +0000
Don't exit on the first file that can't be opened for head and fold
Diffstat:
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/fold.c b/fold.c
@@ -1,8 +1,10 @@
/* See LICENSE file for copyright and license details. */
#include <ctype.h>
+#include <errno.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
+#include <string.h>
#include <unistd.h>
#include "text.h"
#include "util.h"
@@ -45,8 +47,11 @@ main(int argc, char *argv[])
if(argc == 0) {
fold(stdin, width);
} else for(; argc > 0; argc--, argv++) {
- if(!(fp = fopen(argv[0], "r")))
- eprintf("fopen %s:", argv[0]);
+ if(!(fp = fopen(argv[0], "r"))) {
+ fprintf(stderr, "fopen %s: %s\n", argv[0],
+ strerror(errno));
+ continue;
+ }
fold(fp, width);
fclose(fp);
}
diff --git a/head.c b/head.c
@@ -1,4 +1,5 @@
/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -33,8 +34,11 @@ main(int argc, char *argv[])
if(argc == 0) {
head(stdin, "<stdin>", n);
} else for(; argc > 0; argc--, argv++) {
- if(!(fp = fopen(argv[0], "r")))
- eprintf("fopen %s:", argv[0]);
+ if(!(fp = fopen(argv[0], "r"))) {
+ fprintf(stderr, "fopen %s: %s\n", argv[0],
+ strerror(errno));
+ continue;
+ }
head(fp, argv[0], n);
fclose(fp);
}