aboutsummaryrefslogtreecommitdiffstats
path: root/src/command.c
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-09-07 13:51:50 +0200
committerMax Kellermann <max@duempel.org>2008-09-07 13:51:50 +0200
commit4ddc0a48e2e53acc58990ec72e907a136e51d77e (patch)
treea92187be3b042e2a89923d767e85d5bb99b09739 /src/command.c
parentf7e414d9347aaf2397f883181c8bdb6959380143 (diff)
downloadmpd-4ddc0a48e2e53acc58990ec72e907a136e51d77e.tar.gz
mpd-4ddc0a48e2e53acc58990ec72e907a136e51d77e.tar.xz
mpd-4ddc0a48e2e53acc58990ec72e907a136e51d77e.zip
audio: don't pass "fd" to {en,dis}ableAudioDevice()
No protocol code in the audio output library.
Diffstat (limited to 'src/command.c')
-rw-r--r--src/command.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/command.c b/src/command.c
index c1422d2c0..9b579e37d 100644
--- a/src/command.c
+++ b/src/command.c
@@ -1177,21 +1177,31 @@ static int handleCrossfade(int fd, mpd_unused int *permission,
static int handleEnableDevice(int fd, mpd_unused int *permission,
mpd_unused int argc, char *argv[])
{
- int device;
+ int device, ret;
if (check_int(fd, &device, argv[1], check_non_negative, argv[1]) < 0)
return -1;
- return enableAudioDevice(fd, device);
+
+ ret = enableAudioDevice(device);
+ if (ret == -1)
+ commandError(fd, ACK_ERROR_NO_EXIST, "No such audio output");
+
+ return ret;
}
static int handleDisableDevice(int fd, mpd_unused int *permission,
mpd_unused int argc, char *argv[])
{
- int device;
+ int device, ret;
if (check_int(fd, &device, argv[1], check_non_negative, argv[1]) < 0)
return -1;
- return disableAudioDevice(fd, device);
+
+ ret = disableAudioDevice(device);
+ if (ret == -1)
+ commandError(fd, ACK_ERROR_NO_EXIST, "No such audio output");
+
+ return ret;
}
static int handleDevices(int fd, mpd_unused int *permission,