From ae954906d8f4487fd271c0c8ace021ca07fd9ce7 Mon Sep 17 00:00:00 2001 From: Zac Stewart Date: Mon, 8 Jun 2020 20:09:45 -0400 Subject: [PATCH] Make blkpack close files when it's done reading them (#108) * Report when a file cannot be opened * Close files when done reading them --- tools/blkpack.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/blkpack.c b/tools/blkpack.c index 52b9b34..9db0ed2 100644 --- a/tools/blkpack.c +++ b/tools/blkpack.c @@ -2,6 +2,7 @@ #include #include #include +#include #include #include @@ -41,6 +42,10 @@ int main(int argc, char *argv[]) strcat(fullpath, "/"); strcat(fullpath, ep->d_name); FILE *fp = fopen(fullpath, "r"); + if (fp == NULL) { + fprintf(stderr, "Could not open %s: %s\n", ep->d_name, strerror(errno)); + continue; + } char *line = NULL; size_t n = 0; for (int i=0; i<16; i++) { @@ -56,6 +61,7 @@ int main(int argc, char *argv[]) fprintf(stderr, "blk %s has more than 16 lines\n", ep->d_name); } free(line); + fclose(fp); } fwrite(buf, 1024, blkcnt, stdout); free(buf);