From 99b7c369b2c3af1e5a2c6f725c737cea3c2ac508 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Sat, 26 May 2007 22:39:23 +0200 Subject: [PATCH] fade.c: Fix some signed issues Don't sleep at all if the sleep time passed via comamnd line args are negative. --- fade.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/fade.c b/fade.c index 9ba733b3..8893ca60 100644 --- a/fade.c +++ b/fade.c @@ -127,16 +127,17 @@ out: * Open mixer, get volume, fade to new_vol in secs seconds and * close mixer */ -static int fade(int new_vol, unsigned int secs) +static void fade(int new_vol, int fade_time) { - int vol, mixer_fd = -1, diff, incr, ret; + int vol, mixer_fd = -1, diff, incr; + unsigned secs; struct timespec ts; unsigned long long tmp, tmp2; /* Careful with that axe, Eugene! */ - PARA_NOTICE_LOG("fading to %d in %d seconds\n", new_vol, secs); - ret = 0; - if (!secs) + if (fade_time <= 0) goto out; + secs = fade_time; + PARA_NOTICE_LOG("fading to %d in %d seconds\n", new_vol, secs); mixer_fd = open_mixer(); if (mixer_fd < 0) goto out; @@ -146,7 +147,6 @@ static int fade(int new_vol, unsigned int secs) diff = new_vol - vol; if (!diff) { sleep(secs); - ret = 1; goto out; } incr = diff > 0? 1: -1; @@ -166,7 +166,6 @@ static int fade(int new_vol, unsigned int secs) out: if (mixer_fd >= 0) close(mixer_fd); - return 1; } static int client_cmd(const char *cmd,...) @@ -254,13 +253,18 @@ static void sweet_dreams(void) static void snooze(void) { + unsigned sleep_time; + + if (args_info.snooze_time_arg <= 0) + return; + sleep_time = args_info.snooze_time_arg; if (get_vol() < args_info.snooze_out_vol_arg) set_vol(args_info.snooze_out_vol_arg); else fade(args_info.snooze_out_vol_arg, args_info.snooze_out_fade_arg); client_cmd("pause"); PARA_NOTICE_LOG("%d seconds snooze time...\n", args_info.snooze_time_arg); - sleep(args_info.snooze_time_arg); + sleep(sleep_time); client_cmd("play"); fade(args_info.snooze_in_vol_arg, args_info.snooze_in_fade_arg); } -- 2.39.5