From 55bafb79383dd2247a30d8e30e243e651f7b287f Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 27 Feb 2023 13:23:12 +0100 Subject: [PATCH] alsabat: improve error handling in bat_init() Fix 'LC_ALL=C.UTF-8 ./alsabat' command. Fixes: https://github.com/alsa-project/alsa-utils/issues/192 Signed-off-by: Jaroslav Kysela --- bat/bat.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/bat/bat.c b/bat/bat.c index 17d025d..89b6555 100644 --- a/bat/bat.c +++ b/bat/bat.c @@ -546,8 +546,8 @@ static int bat_init(struct bat *bat) if (bat->logarg) { bat->log = NULL; bat->log = fopen(bat->logarg, "wb"); - err = -errno; if (bat->log == NULL) { + err = -errno; fprintf(bat->err, _("Cannot open file: %s %d\n"), bat->logarg, err); return err; @@ -572,17 +572,16 @@ static int bat_init(struct bat *bat) } else { /* create temp file for sound record and analysis */ fd = mkstemp(name); - err = -errno; if (fd == -1) { + err = -errno; fprintf(bat->err, _("Fail to create record file: %d\n"), err); return err; } /* store file name which is dynamically created */ bat->capture.file = strdup(name); - err = -errno; if (bat->capture.file == NULL) - return err; + return -ENOMEM; /* close temp file */ close(fd); } @@ -610,8 +609,8 @@ static int bat_init(struct bat *bat) } } else { bat->fp = fopen(bat->playback.file, "rb"); - err = -errno; if (bat->fp == NULL) { + err = -errno; fprintf(bat->err, _("Cannot open file: %s %d\n"), bat->playback.file, err); return err; -- 2.47.1