Recently Written · git

sad

sad (2f30.org simple audio daemon) with a Cygwin/OSS port on branch cygwin

git clone https://github.com/equwal/sad

Log | Files | Refs


commit 57bc72dd3e8d5310cd56057b40a2c8adb54b5300
sin <sin@2f30.org>
2014-12-31 15:12:36 +0000

Simplify a bit the output enable/disable semantics

 output.c | 20 +++-----------------
 1 file changed, 3 insertions(+), 17 deletions(-)
diff --git a/output.c b/output.c
index 674d4ff..8ead95a 100644
--- a/output.c
+++ b/output.c
@@ -111,14 +111,9 @@ closeoutput(Outputdesc *desc)
 	if (!desc->active)
 		return 0;
 
-	if (desc->output->close() < 0) {
-		desc->active = 1;
-		return -1;
-	}
-
 	printf("Closed %s output\n", desc->name);
 	desc->active = 0;
-	return 0;
+	return desc->output->close();
 }
 
 int
@@ -223,8 +218,6 @@ enableoutput(const char *name)
 		desc = &outputdescs[i];
 		if (strcmp(desc->name, name))
 			continue;
-		if (desc->active)
-			return -1;
 		if (openoutput(desc) < 0) {
 			desc->enabled = 0;
 			return -1;
@@ -246,15 +239,8 @@ disableoutput(const char *name)
 		desc = &outputdescs[i];
 		if (strcmp(desc->name, name))
 			continue;
-		if (!desc->active)
-			return -1;
-		if (closeoutput(desc) < 0) {
-			desc->enabled = 1;
-			return -1;
-		} else {
-			desc->enabled = 0;
-			return 0;
-		}
+		desc->enabled = 0;
+		return closeoutput(desc);
 	}
 	return -1;
 }