From 3fa775e1dfd5dc38648f88c2f385be1f0fe45605 Mon Sep 17 00:00:00 2001 From: Alexander Krotov Date: Thu, 19 May 2016 01:21:58 +0300 Subject: Improve fread error handling in ff2* In case of unexpected end of file errno is not set, and strerror(errno) returns "Success". Caller should distinguish between error and EOF by calling ferror(3) as described in fread(3). --- ff2png.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'ff2png.c') diff --git a/ff2png.c b/ff2png.c index 4304bbb..5731082 100644 --- a/ff2png.c +++ b/ff2png.c @@ -81,8 +81,11 @@ main(int argc, char *argv[]) return 0; readerr: - fprintf(stderr, "%s: fread: ", argv0); - perror(NULL); + if (ferror(stdin)) { + fprintf(stderr, "%s: fread: %s\n", argv0, strerror(errno)); + } else { + fprintf(stderr, "%s: unexpected end of file\n", argv0); + } return 1; } -- cgit v1.2.3