[alsa-devel] [PATCH V3 1/4] BAT: Merge message strings
han.lu at intel.com
han.lu at intel.com
Fri Oct 16 10:12:03 CEST 2015
From: "Lu, Han" <han.lu at intel.com>
Remove redundant error messages.
Signed-off-by: Lu, Han <han.lu at intel.com>
diff --git a/bat/bat.c b/bat/bat.c
index 24c74e8..4320e22 100644
--- a/bat/bat.c
+++ b/bat/bat.c
@@ -41,43 +41,33 @@ static int get_duration(struct bat *bat)
char *ptrf, *ptri;
duration_f = strtof(bat->narg, &ptrf);
- if (duration_f == HUGE_VALF || duration_f == -HUGE_VALF) {
- fprintf(bat->err, _("duration float overflow: %f %d\n"),
- duration_f, -errno);
- return -errno;
- } else if (duration_f == 0.0 && errno != 0) {
- fprintf(bat->err, _("duration float underflow: %f %d\n"),
- duration_f, -errno);
- return -errno;
- }
+ if (duration_f == HUGE_VALF || duration_f == -HUGE_VALF
+ || (duration_f == 0.0 && errno != 0))
+ goto err_exit;
duration_i = strtol(bat->narg, &ptri, 10);
- if (duration_i == LONG_MAX) {
- fprintf(bat->err, _("duration long overflow: %ld %d\n"),
- duration_i, -errno);
- return -errno;
- } else if (duration_i == LONG_MIN) {
- fprintf(bat->err, _("duration long underflow: %ld %d\n"),
- duration_i, -errno);
- return -errno;
- }
+ if (duration_i == LONG_MAX || duration_i == LONG_MIN)
+ goto err_exit;
- if (*ptrf == 's') {
+ if (*ptrf == 's')
bat->frames = duration_f * bat->rate;
- } else if (*ptri == 0) {
+ else if (*ptri == 0)
bat->frames = duration_i;
- } else {
- fprintf(bat->err, _("invalid duration: %s\n"), bat->narg);
- return -EINVAL;
- }
+ else
+ bat->frames = -1;
if (bat->frames <= 0 || bat->frames > MAX_FRAMES) {
- fprintf(bat->err, _("duration out of range: (0, %d(%ds))\n"),
- MAX_FRAMES, (bat->frames / bat->rate));
+ fprintf(bat->err, _("Invalid duration. Range: (0, %d(%fs))\n"),
+ MAX_FRAMES, (double)MAX_FRAMES / bat->rate);
return -EINVAL;
}
return 0;
+
+err_exit:
+ fprintf(bat->err, _("Duration overflow/underflow: %d\n"), -errno);
+
+ return -errno;
}
static void get_sine_frequencies(struct bat *bat, char *freq)
--
1.9.1
More information about the Alsa-devel
mailing list