From 5eb9c492589b2bc39866f2a7b4d9b7b20e718ee3 Mon Sep 17 00:00:00 2001 From: Karol Trzcinski Date: Thu, 24 Sep 2020 13:35:10 +0200 Subject: [PATCH] logger: Log fread error only when it happened fread may return 0 when some error occurred or nothig has been reded. Moreover errno may not be set on Windows plaform, use ferror instead. See: https://www.gnu.org/software/gnulib/manual/html_node/fread.html Fixes: 337afc4f3809: ("logger: add error message when reading sof/etrace instead of sof/trace") Signed-off-by: Karol Trzcinski --- tools/logger/convert.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tools/logger/convert.c b/tools/logger/convert.c index 3dd1f549d..7a3b74a73 100644 --- a/tools/logger/convert.c +++ b/tools/logger/convert.c @@ -640,10 +640,12 @@ static int logger_read(void) return -errno; } } - log_err("in %s(), fread(..., %s) failed: %s(%d)\n", - __func__, global_config->in_file, - strerror(errno), errno); - return -errno; + ret = -ferror(global_config->in_fd); + if (ret) + log_err("in %s(), fread(..., %s) failed: %s(%d)\n", + __func__, global_config->in_file, + strerror(-ret), ret); + return ret; } /* checking if received trace address is located in